final ParentEntity recreatedObject = (ParentEntity)recreatedAdapter.getObject();
final List<BaseEntity> hetrogenousCollection = recreatedObject.getHeterogeneousCollection();
assertNotNull(hetrogenousCollection);
assertThat(hetrogenousCollection.size(), is(2));
final SimpleEntity firstObj = (SimpleEntity)hetrogenousCollection.get(0);
assertThat(firstObj.getName(), is("Fred"));
final ReferencingEntity secondObj = (ReferencingEntity)hetrogenousCollection.get(1);
final SimpleEntity reference1 = secondObj.getReference();
assertThat(reference1.getName(), is("Fred"));
assertSame(firstObj, reference1);
}