public void testNestedPdxInstance() throws IOException, ClassNotFoundException { PdxInstanceFactory c = PdxInstanceFactoryImpl.newCreator("testNestedPdxInstanceChild", false); c.writeField("f", 37, int.class); PdxInstance child = c.create(); c = PdxInstanceFactoryImpl.newCreator("testNestedPdxInstanceParent", false); c.writeObject("f", child); WritablePdxInstance parent = c.create().createWriter(); checkPdxInstance(child); checkPdxInstance(parent); WritablePdxInstance child2 = ((PdxInstance)parent.getField("f")).createWriter(); assertEquals(child, child2); assertTrue(child != child2); child2.setField("f", 38); assertFalse(child.equals(child2)); assertEquals(child, parent.getField("f")); parent.setField("f", child2); assertFalse(child.equals(parent.getField("f"))); assertEquals(child2, parent.getField("f")); PdxInstance parentCopy = checkPdxInstance(parent); assertEquals(child2, parentCopy.getField("f")); }