@Override
        public void read(JmeImporter ji) throws IOException {
            InputCapsule capsule = ji.getCapsule(this);

            Vector3f v1 = (Vector3f) capsule.readSavable("v1", null);
            Vector3f alsoV1 = (Vector3f) capsule.readSavable("also_v1", null);
            Vector3f notV1 = (Vector3f) capsule.readSavable("not_v1", null);

            Assert.assertTrue("readSavable() savable duplicated, references not preserved.", v1 == alsoV1);
            Assert.assertTrue("readSavable() unique savables merged, unexpected shared references.", v1 != notV1);

            Node n1 = (Node) capsule.readSavable("node_1", null);
            Node n2 = (Node) capsule.readSavable("node_2", null);

            Assert.assertTrue("readSavable() reference loop not preserved.", n1.getUserData("node_2") == n2 && n2.getUserData("node_1") == n1);
        }
Test suite for implementations of the JmeExporter and JmeImporter interfaces.
There are tests here for all write* and read* methods of the OutputCapsule and InputCapsule interfaces respectively.
jme3-plugins/src/test/java/com/jme3/export/InputOutputCapsuleTest.java