Program: 68576
Project: 68576
Buggy source:
/** 
 * Structure: root rootproperty1 --> is DataType; SDOString  <---> value: "test" rootproperty2 --> not DataType            <---> value: containedDataObject root's child: containedDataObject1 contained1Property1 --> not DataType; bidirectional   <---> value: containedByContainedDataObject containedDataObject containedProperty1  --> is DataType; SDOString  <---> value: "test1" containedProperty2  --> not DataType            <---> value: containedByContainedDataObject containedProperty3  --> not DataType            <---> value: containedByContainedDataObject3 (bidirectional inside sub-tree copy tree) containedProperty_ChangeSummary  --> not DataType  <---> value: chSum(ChangeSummary) containedDataObject's child: containedByContainedDataObject containedByContainedProperty1  --> not DataType; bidirectional   <---> value: containedDataObejct1 Covered test cases: Test case 1: copied root's DataType property rootproperty1 has same value Test Case 2: copied root's not DataType property rootproperty2 has a copied DataObject from containedDataObject Test case 3: there exists dataobject's bidirectional not containment property has another DataObject as value Test Case 4: there exists dataobject's unidirectional not containment property has another DataObject as value Test Case 5: there exists dataobject's non containment property has another DataObject that is not in containment tree as value Test Case 6: copied containedProperty's ChangeSummary Type property containedProperty_ChangeSummary has a copied ChangeSummary from source's ChangeSummary chSum
 */
public void setUp(){
  super.setUp();
  DataObject rootTypeDO=defineType(rootTypeUri,rootTypeName);
  rootType=(SDOType)typeHelper.define(rootTypeDO);
  rootProperty1=new SDOProperty(aHelperContext);
  rootProperty1.setName("String_Node_Str");
  SDOType rootProperty1_type=SDOConstants.SDO_STRING;
  rootProperty1_type.setDataType(true);
  rootProperty1.setType(rootProperty1_type);
  rootType.addDeclaredProperty(rootProperty1);
  rootProperty2=new SDOProperty(aHelperContext);
  rootProperty2.setName("String_Node_Str");
  rootProperty2.setContainment(true);
  SDOType rootProperty2_type=new SDOType("String_Node_Str","String_Node_Str");
  QName qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootProperty2_type);
  rootProperty2_type.setDataType(false);
  rootProperty2.setType(rootProperty2_type);
  rootType.addDeclaredProperty((Property)rootProperty2);
  rootProperty3=new SDOProperty(aHelperContext);
  rootProperty3.setName("String_Node_Str");
  rootProperty3.setContainment(true);
  DataObject rootProperty3_typeDO=defineType("String_Node_Str","String_Node_Str");
  SDOType rootProperty3_type=(SDOType)typeHelper.define(rootProperty3_typeDO);
  rootProperty3_type.setDataType(false);
  rootProperty3.setType(rootProperty3_type);
  rootType.addDeclaredProperty(rootProperty3);
  rootProperty4=new SDOProperty(aHelperContext);
  rootProperty4.setName("String_Node_Str");
  rootProperty4.setContainment(true);
  rootProperty4.setMany(true);
  DataObject rootProperty4_typeDO=defineType("String_Node_Str","String_Node_Str");
  SDOType rootProperty4_type=(SDOType)typeHelper.define(rootProperty4_typeDO);
  rootProperty4_type.setDataType(false);
  rootProperty4.setType(rootProperty4_type);
  rootType.addDeclaredProperty(rootProperty4);
  SDOProperty rootProperty_NotContainment=new SDOProperty(aHelperContext);
  rootProperty_NotContainment.setContainment(false);
  DataObject rootProperty_NotContainment_typeDO=defineType("String_Node_Str","String_Node_Str");
  SDOType rootProperty_NotContainment_type=(SDOType)typeHelper.define(rootProperty_NotContainment_typeDO);
  rootProperty_NotContainment_type.setDataType(false);
  rootProperty_NotContainment.setType(rootProperty_NotContainment_type);
  rootProperty_NotContainment.setName("String_Node_Str");
  rootType.addDeclaredProperty(rootProperty_NotContainment);
  contained1Property3=new SDOProperty(aHelperContext);
  contained1Property3.setName("String_Node_Str");
  contained1Property3.setContainment(false);
  DataObject contained1Property3_typeDO=defineType("String_Node_Str","String_Node_Str");
  SDOType contained1Property3_type=(SDOType)typeHelper.define(contained1Property3_typeDO);
  contained1Property3_type.setDataType(false);
  contained1Property3.setType(contained1Property3_type);
  objects=new ArrayList();
  SDOType obj1Type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,obj1Type);
  SDOProperty obj1Property=new SDOProperty(aHelperContext);
  obj1Property.setName("String_Node_Str");
  SDOType obj1PropertyType=SDOConstants.SDO_STRING;
  obj1PropertyType.setDataType(true);
  obj1Property.setType(obj1PropertyType);
  obj1Property.setContainment(false);
  obj1Type.addDeclaredProperty(obj1Property);
  SDODataObject obj1=(SDODataObject)dataFactory.create(obj1Type);
  objects.add(obj1);
  obj1.set(obj1Property,"String_Node_Str");
  DataObject containedTypeDO=defineType(containedTypeUri,containedTypeName);
  containedType=(SDOType)typeHelper.define(containedTypeDO);
  containedProperty1=new SDOProperty(aHelperContext);
  containedProperty1.setName("String_Node_Str");
  SDOType containedProperty1_type=SDOConstants.SDO_STRING;
  containedProperty1_type.setDataType(true);
  containedProperty1.setType(containedProperty1_type);
  containedType.addDeclaredProperty(containedProperty1);
  containedProperty2=new SDOProperty(aHelperContext);
  containedProperty2.setName("String_Node_Str");
  containedProperty2.setContainment(true);
  SDOType containedProperty2_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedProperty2_type);
  containedProperty2_type.setDataType(false);
  containedProperty2.setType(containedProperty2_type);
  containedType.addDeclaredProperty(containedProperty2);
  containedProperty3=new SDOProperty(aHelperContext);
  containedProperty3.setName("String_Node_Str");
  containedProperty3.setContainment(true);
  SDOType containedProperty3_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedProperty3_type);
  containedProperty3_type.setDataType(false);
  containedProperty3.setType(containedProperty3_type);
  containedType.addDeclaredProperty(containedProperty3);
  containedProperty_ChangeSummary=new SDOProperty(aHelperContext);
  containedProperty_ChangeSummary.setContainment(false);
  containedProperty_ChangeSummary.setType(SDOConstants.SDO_CHANGESUMMARY);
  containedProperty_ChangeSummary.setName("String_Node_Str");
  containedType.addDeclaredProperty(containedProperty_ChangeSummary);
  containedDataObject=(SDODataObject)dataFactory.create(containedType);
  containedType1=new SDOType(containedType1Uri,containedType1Name);
  qname=new QName(containedType1Uri,containedType1Name);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedType1);
  contained1Property1=new SDOProperty(aHelperContext);
  contained1Property1.setName("String_Node_Str");
  contained1Property1.setContainment(false);
  SDOType contained1Property1_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,contained1Property1_type);
  contained1Property1_type.setDataType(false);
  contained1Property1.setType(contained1Property1_type);
  contained1Property1.setOpposite(containedByContainedProperty1);
  containedType1.addDeclaredProperty(contained1Property1);
  containedDataObject1=(SDODataObject)dataFactory.create(containedType1);
  containedByContainedType=new SDOType(containedBycontainedType1Uri,containedByContainedTypeName);
  qname=new QName(containedBycontainedType1Uri,containedByContainedTypeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedByContainedType);
  containedByContainedProperty1=new SDOProperty(aHelperContext);
  containedByContainedProperty1.setName("String_Node_Str");
  containedByContainedProperty1.setContainment(false);
  SDOType containedByContainedProperty1_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedByContainedProperty1_type);
  containedByContainedProperty1_type.setDataType(false);
  containedByContainedProperty1.setType(containedByContainedProperty1_type);
  containedByContainedProperty1.setOpposite(contained1Property1);
  containedByContainedType.addDeclaredProperty(containedByContainedProperty1);
  contained1Property1.setOpposite(containedByContainedProperty1);
  containedByContainedProperty2=new SDOProperty(aHelperContext);
  containedByContainedProperty2.setName("String_Node_Str");
  containedByContainedProperty2.setContainment(false);
  SDOType containedByContainedProperty2_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedByContainedProperty2_type);
  containedByContainedProperty2_type.setDataType(false);
  containedByContainedProperty2.setType(containedByContainedProperty2_type);
  containedByContainedType.addDeclaredProperty(containedByContainedProperty2);
  containedByContainedProperty3=new SDOProperty(aHelperContext);
  containedByContainedProperty3.setName("String_Node_Str");
  containedByContainedProperty3.setContainment(false);
  SDOType containedByContainedProperty3_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedByContainedProperty3_type);
  containedByContainedProperty3_type.setDataType(false);
  containedByContainedProperty3.setType(containedByContainedProperty3_type);
  containedByContainedType.addDeclaredProperty(containedByContainedProperty3);
  containedByContainedDataObject=(SDODataObject)dataFactory.create(containedByContainedType);
  root=(SDODataObject)dataFactory.create(rootType);
  root.set(rootProperty1,"String_Node_Str");
  root.set(rootProperty2,containedDataObject);
  root.set(rootProperty3,containedDataObject1);
  root.set(rootProperty4,objects);
  containedDataObject.set(containedProperty1,"String_Node_Str");
  containedDataObject.set(containedProperty2,containedByContainedDataObject);
  containedDataObject1.set(contained1Property1,containedByContainedDataObject);
  containedByContainedDataObject.set(containedByContainedProperty1,containedDataObject1);
  rootUC4Type=new SDOType(rootUC4TypeUri,rootUC4TypeName);
  qname=new QName(rootUC4TypeUri,rootUC4TypeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootUC4Type);
  homeType=new SDOType(homeObjectUri,homeObjectName);
  qname=new QName(homeObjectUri,homeObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeType);
  addressType=new SDOType(addressObjectUri,addressObjectName);
  qname=new QName(addressObjectUri,addressObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressType);
  workType=new SDOType(workObjectUri,workObjectName);
  qname=new QName(workObjectUri,workObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,workType);
  rootHome=new SDOProperty(aHelperContext);
  rootHome.setName(rootHomeName);
  rootHome.setContainment(true);
  SDOType rootHome_type=new SDOType(rootHomeUri,rootHomeName);
  qname=new QName(rootHomeUri,rootHomeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootHome_type);
  rootHome_type.setDataType(false);
  rootHome.setType(rootHome_type);
  rootUC4Type.addDeclaredProperty((Property)rootHome);
  rootWork=new SDOProperty(aHelperContext);
  rootWork.setName(rootWorkName);
  rootWork.setContainment(false);
  SDOType rootWork_type=new SDOType(rootWorkUri,rootWorkName);
  qname=new QName(rootWorkUri,rootWorkName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootWork_type);
  rootWork_type.setDataType(false);
  rootWork.setType(rootWork_type);
  rootUC4Type.addDeclaredProperty((Property)rootWork);
  homeAddress=new SDOProperty(aHelperContext);
  homeAddress.setName(homeAddressName);
  homeAddress.setContainment(true);
  SDOType homeAddress_type=new SDOType(homeAddressUri,homeAddressName);
  qname=new QName(homeAddressUri,homeAddressName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeAddress_type);
  homeAddress_type.setDataType(false);
  homeAddress.setType(homeAddress_type);
  homeType.addDeclaredProperty((Property)homeAddress);
  workAddress=new SDOProperty(aHelperContext);
  workAddress.setName(workAddressName);
  workAddress.setContainment(false);
  SDOType workAddress_type=new SDOType(workAddressUri,workAddressName);
  qname=new QName(workAddressUri,workAddressName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,workAddress_type);
  workAddress_type.setDataType(false);
  workAddress.setType(workAddress_type);
  workType.addDeclaredProperty((Property)workAddress);
  addressWork=new SDOProperty(aHelperContext);
  addressWork.setName(addressWorkName);
  addressWork.setContainment(true);
  SDOType addressWork_type=new SDOType(addressWorkUri,addressWorkName);
  qname=new QName(addressWorkUri,addressWorkName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressWork_type);
  addressWork_type.setDataType(false);
  addressWork.setType(addressWork_type);
  addressType.addDeclaredProperty((Property)addressWork);
  rootUC4=(SDODataObject)dataFactory.create(rootUC4Type);
  addressObject=(SDODataObject)dataFactory.create(addressType);
  homeObject=(SDODataObject)dataFactory.create(homeType);
  workObject=(SDODataObject)dataFactory.create(workType);
  addressWork.setOpposite(workAddress);
  workAddress.setOpposite(addressWork);
  rootUC4.set(rootHome,homeObject);
  rootUC4.set(rootWork,workObject);
  homeObject.set(homeAddress,addressObject);
  addressObject.set(addressWork,workObject);
  workObject.set(workAddress,addressObject);
  rootUC4Typem=new SDOType(rootUC4TypeUrim,rootUC4TypeName);
  qname=new QName(rootUC4TypeUrim,rootUC4TypeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootUC4Typem);
  homeTypem=new SDOType(homeObjectUrim,homeObjectName);
  qname=new QName(homeObjectUrim,homeObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeTypem);
  addressTypem=new SDOType(addressObjectUrim,addressObjectName);
  qname=new QName(addressObjectUrim,addressObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressTypem);
  workTypem=new SDOType(workObjectUrim,workObjectName);
  qname=new QName(workObjectUrim,workObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,workTypem);
  rootHomem=new SDOProperty(aHelperContext);
  rootHomem.setName(rootHomeName);
  rootHomem.setContainment(true);
  SDOType rootHome_typem=new SDOType(rootHomeUrim,rootHomeName);
  qname=new QName(rootHomeUrim,rootHomeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootHome_typem);
  rootHome_typem.setDataType(false);
  rootHomem.setType(rootHome_typem);
  rootUC4Typem.addDeclaredProperty((Property)rootHomem);
  rootWorkm=new SDOProperty(aHelperContext);
  rootWorkm.setName(rootWorkName);
  rootWorkm.setContainment(false);
  rootWorkm.setMany(true);
  SDOType rootWork_typem=new SDOType(rootWorkUrim,rootWorkName);
  qname=new QName(rootWorkUrim,rootWorkName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootWork_typem);
  rootWork_typem.setDataType(false);
  rootWorkm.setType(rootWork_typem);
  rootUC4Typem.addDeclaredProperty((Property)rootWorkm);
  homeAddressm=new SDOProperty(aHelperContext);
  homeAddressm.setName(homeAddressName);
  homeAddressm.setContainment(true);
  SDOType homeAddress_typem=new SDOType(homeAddressUrim,homeAddressName);
  qname=new QName(homeAddressUrim,homeAddressName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeAddress_typem);
  homeAddress_typem.setDataType(false);
  homeAddressm.setType(homeAddress_typem);
  homeTypem.addDeclaredProperty((Property)homeAddressm);
  workAddressm=new SDOProperty(aHelperContext);
  workAddressm.setName(workAddressName);
  workAddressm.setContainment(false);
  SDOType workAddress_typem=new SDOType(workAddressUri,workAddressName);
  qname=new QName(workAddressUri,workAddressName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,workAddress_typem);
  workAddress_typem.setDataType(false);
  workAddressm.setType(workAddress_typem);
  workTypem.addDeclaredProperty((Property)workAddressm);
  addressWorkm=new SDOProperty(aHelperContext);
  addressWorkm.setName(addressWorkName);
  addressWorkm.setContainment(false);
  addressWorkm.setMany(true);
  SDOType addressWork_typem=new SDOType(addressWorkUri,addressWorkName);
  qname=new QName(addressWorkUri,addressWorkName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressWork_typem);
  addressWork_typem.setDataType(false);
  addressWorkm.setType(addressWork_typem);
  addressTypem.addDeclaredProperty((Property)addressWorkm);
  rootUC4m=(SDODataObject)dataFactory.create(rootUC4Typem);
  addressObjectm=(SDODataObject)dataFactory.create(addressTypem);
  homeObjectm=(SDODataObject)dataFactory.create(homeTypem);
  workObjectm=(SDODataObject)dataFactory.create(workTypem);
  addressWorkm.setOpposite(workAddressm);
  workAddressm.setOpposite(addressWorkm);
  rootUC4m.set(rootHomem,homeObjectm);
  ArrayList workList=new ArrayList();
  workList.add(workObjectm);
  rootUC4m.set(rootWorkm,workList);
  homeObjectm.set(homeAddressm,addressObjectm);
  addressObjectm.set(addressWorkm,workList);
  workObjectm.set(workAddressm,addressObjectm);
  rootUCUniOutsideType=new SDOType(rootUCUniOutsideTypeUri,rootUCUniOutsideTypeName);
  qname=new QName(rootUCUniOutsideTypeUri,rootUCUniOutsideTypeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootUCUniOutsideType);
  homeTypeUCUniOutside=new SDOType(homeObjectUriUCUniOutside,homeObjectNameUCUniOutside);
  qname=new QName(homeObjectUriUCUniOutside,homeObjectNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeTypeUCUniOutside);
  addressTypeUCUniOutside=new SDOType(addressObjectUriUCUniOutside,addressObjectNameUCUniOutside);
  qname=new QName(addressObjectUriUCUniOutside,addressObjectNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressTypeUCUniOutside);
  workTypeUCUniOutside=new SDOType(workObjectUriUCUniOutside,workObjectNameUCUniOutside);
  qname=new QName(workObjectUriUCUniOutside,workObjectNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,workTypeUCUniOutside);
  rootHomeUCUniOutside=new SDOProperty(aHelperContext);
  rootHomeUCUniOutside.setName(rootHomeNameUCUniOutside);
  rootHomeUCUniOutside.setContainment(true);
  SDOType rootHome_typeUCUniOutside=new SDOType(rootHomeUriUCUniOutside,rootHomeNameUCUniOutside);
  qname=new QName(rootHomeUriUCUniOutside,rootHomeNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootHome_typeUCUniOutside);
  rootHome_typeUCUniOutside.setDataType(false);
  rootHomeUCUniOutside.setType(rootHome_typeUCUniOutside);
  rootUCUniOutsideType.addDeclaredProperty((Property)rootHomeUCUniOutside);
  rootWorkUCUniOutside=new SDOProperty(aHelperContext);
  rootWorkUCUniOutside.setName(rootWorkNameUCUniOutside);
  rootWorkUCUniOutside.setContainment(false);
  SDOType rootWork_typeUCUniOutside=new SDOType(rootWorkUriUCUniOutside,rootWorkNameUCUniOutside);
  qname=new QName(rootWorkUriUCUniOutside,rootWorkNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootWork_typeUCUniOutside);
  rootWork_typeUCUniOutside.setDataType(false);
  rootWorkUCUniOutside.setType(rootWork_typeUCUniOutside);
  rootUCUniOutsideType.addDeclaredProperty((Property)rootWorkUCUniOutside);
  homeAddressUCUniOutside=new SDOProperty(aHelperContext);
  homeAddressUCUniOutside.setName(homeAddressNameUCUniOutside);
  homeAddressUCUniOutside.setContainment(true);
  SDOType homeAddress_typeUCUniOutside=new SDOType(homeAddressUriUCUniOutside,homeAddressNameUCUniOutside);
  qname=new QName(homeAddressUriUCUniOutside,homeAddressNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeAddress_typeUCUniOutside);
  homeAddress_typeUCUniOutside.setDataType(false);
  homeAddressUCUniOutside.setType(homeAddress_typeUCUniOutside);
  homeTypeUCUniOutside.addDeclaredProperty((Property)homeAddressUCUniOutside);
  addressWorkUCUniOutside=new SDOProperty(aHelperContext);
  addressWorkUCUniOutside.setName(addressWorkNameUCUniOutside);
  addressWorkUCUniOutside.setContainment(true);
  SDOType addressWork_typeUCUniOutside=new SDOType(addressWorkUriUCUniOutside,addressWorkNameUCUniOutside);
  qname=new QName(addressWorkUriUCUniOutside,addressWorkNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressWork_typeUCUniOutside);
  addressWork_typeUCUniOutside.setDataType(false);
  addressWorkUCUniOutside.setType(addressWork_typeUCUniOutside);
  addressTypeUCUniOutside.addDeclaredProperty((Property)addressWorkUCUniOutside);
  rootUCUniOutside=(SDODataObject)dataFactory.create(rootUCUniOutsideType);
  addressObjectUCUniOutside=(SDODataObject)dataFactory.create(addressTypeUCUniOutside);
  homeObjectUCUniOutside=(SDODataObject)dataFactory.create(homeTypeUCUniOutside);
  workObjectUCUniOutside=(SDODataObject)dataFactory.create(workTypeUCUniOutside);
  rootUCUniOutside.set(rootHomeUCUniOutside,homeObjectUCUniOutside);
  rootUCUniOutside.set(rootWorkUCUniOutside,workObjectUCUniOutside);
  homeObjectUCUniOutside.set(homeAddressUCUniOutside,addressObjectUCUniOutside);
  addressObjectUCUniOutside.set(addressWorkUCUniOutside,workObjectUCUniOutside);
  containedDataObject.getChangeSummary().beginLogging();
}

Fixed version (ground truth):
/** 
 * Structure: root rootproperty1 --> is DataType; SDOString  <---> value: "test" rootproperty2 --> not DataType            <---> value: containedDataObject root's child: containedDataObject1 contained1Property1 --> not DataType; bidirectional   <---> value: containedByContainedDataObject containedDataObject containedProperty1  --> is DataType; SDOString  <---> value: "test1" containedProperty2  --> not DataType            <---> value: containedByContainedDataObject containedProperty3  --> not DataType            <---> value: containedByContainedDataObject3 (bidirectional inside sub-tree copy tree) containedProperty_ChangeSummary  --> not DataType  <---> value: chSum(ChangeSummary) containedDataObject's child: containedByContainedDataObject containedByContainedProperty1  --> not DataType; bidirectional   <---> value: containedDataObejct1 Covered test cases: Test case 1: copied root's DataType property rootproperty1 has same value Test Case 2: copied root's not DataType property rootproperty2 has a copied DataObject from containedDataObject Test case 3: there exists dataobject's bidirectional not containment property has another DataObject as value Test Case 4: there exists dataobject's unidirectional not containment property has another DataObject as value Test Case 5: there exists dataobject's non containment property has another DataObject that is not in containment tree as value Test Case 6: copied containedProperty's ChangeSummary Type property containedProperty_ChangeSummary has a copied ChangeSummary from source's ChangeSummary chSum
 */
public void setUp(){
  super.setUp();
  SDOType changeSummaryType=(SDOType)aHelperContext.getTypeHelper().getType(SDOConstants.SDO_URL,SDOConstants.CHANGESUMMARY);
  DataObject rootTypeDO=defineType(rootTypeUri,rootTypeName);
  rootType=(SDOType)typeHelper.define(rootTypeDO);
  rootProperty1=new SDOProperty(aHelperContext);
  rootProperty1.setName("String_Node_Str");
  SDOType rootProperty1_type=SDOConstants.SDO_STRING;
  rootProperty1.setType(rootProperty1_type);
  rootType.addDeclaredProperty(rootProperty1);
  rootProperty2=new SDOProperty(aHelperContext);
  rootProperty2.setName("String_Node_Str");
  rootProperty2.setContainment(true);
  SDOType rootProperty2_type=new SDOType("String_Node_Str","String_Node_Str");
  QName qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootProperty2_type);
  rootProperty2.setType(rootProperty2_type);
  rootType.addDeclaredProperty((Property)rootProperty2);
  rootProperty3=new SDOProperty(aHelperContext);
  rootProperty3.setName("String_Node_Str");
  rootProperty3.setContainment(true);
  DataObject rootProperty3_typeDO=defineType("String_Node_Str","String_Node_Str");
  SDOType rootProperty3_type=(SDOType)typeHelper.define(rootProperty3_typeDO);
  rootProperty3.setType(rootProperty3_type);
  rootType.addDeclaredProperty(rootProperty3);
  rootProperty4=new SDOProperty(aHelperContext);
  rootProperty4.setName("String_Node_Str");
  rootProperty4.setContainment(true);
  rootProperty4.setMany(true);
  DataObject rootProperty4_typeDO=defineType("String_Node_Str","String_Node_Str");
  SDOType rootProperty4_type=(SDOType)typeHelper.define(rootProperty4_typeDO);
  rootProperty4.setType(rootProperty4_type);
  rootType.addDeclaredProperty(rootProperty4);
  SDOProperty rootProperty_NotContainment=new SDOProperty(aHelperContext);
  rootProperty_NotContainment.setContainment(false);
  DataObject rootProperty_NotContainment_typeDO=defineType("String_Node_Str","String_Node_Str");
  SDOType rootProperty_NotContainment_type=(SDOType)typeHelper.define(rootProperty_NotContainment_typeDO);
  rootProperty_NotContainment.setType(rootProperty_NotContainment_type);
  rootProperty_NotContainment.setName("String_Node_Str");
  rootType.addDeclaredProperty(rootProperty_NotContainment);
  contained1Property3=new SDOProperty(aHelperContext);
  contained1Property3.setName("String_Node_Str");
  contained1Property3.setContainment(false);
  DataObject contained1Property3_typeDO=defineType("String_Node_Str","String_Node_Str");
  SDOType contained1Property3_type=(SDOType)typeHelper.define(contained1Property3_typeDO);
  contained1Property3.setType(contained1Property3_type);
  objects=new ArrayList();
  SDOType obj1Type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,obj1Type);
  SDOProperty obj1Property=new SDOProperty(aHelperContext);
  obj1Property.setName("String_Node_Str");
  SDOType obj1PropertyType=SDOConstants.SDO_STRING;
  obj1Property.setType(obj1PropertyType);
  obj1Property.setContainment(false);
  obj1Type.addDeclaredProperty(obj1Property);
  SDODataObject obj1=(SDODataObject)dataFactory.create(obj1Type);
  objects.add(obj1);
  obj1.set(obj1Property,"String_Node_Str");
  DataObject containedTypeDO=defineType(containedTypeUri,containedTypeName);
  containedType=(SDOType)typeHelper.define(containedTypeDO);
  containedProperty1=new SDOProperty(aHelperContext);
  containedProperty1.setName("String_Node_Str");
  SDOType containedProperty1_type=SDOConstants.SDO_STRING;
  containedProperty1.setType(containedProperty1_type);
  containedType.addDeclaredProperty(containedProperty1);
  containedProperty2=new SDOProperty(aHelperContext);
  containedProperty2.setName("String_Node_Str");
  containedProperty2.setContainment(true);
  SDOType containedProperty2_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedProperty2_type);
  containedProperty2_type.setDataType(false);
  containedProperty2.setType(containedProperty2_type);
  containedType.addDeclaredProperty(containedProperty2);
  containedProperty3=new SDOProperty(aHelperContext);
  containedProperty3.setName("String_Node_Str");
  containedProperty3.setContainment(true);
  SDOType containedProperty3_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedProperty3_type);
  containedProperty3_type.setDataType(false);
  containedProperty3.setType(containedProperty3_type);
  containedType.addDeclaredProperty(containedProperty3);
  containedProperty_ChangeSummary=new SDOProperty(aHelperContext);
  containedProperty_ChangeSummary.setContainment(false);
  containedProperty_ChangeSummary.setType(changeSummaryType);
  containedProperty_ChangeSummary.setName("String_Node_Str");
  containedType.addDeclaredProperty(containedProperty_ChangeSummary);
  containedDataObject=(SDODataObject)dataFactory.create(containedType);
  containedType1=new SDOType(containedType1Uri,containedType1Name);
  qname=new QName(containedType1Uri,containedType1Name);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedType1);
  contained1Property1=new SDOProperty(aHelperContext);
  contained1Property1.setName("String_Node_Str");
  contained1Property1.setContainment(false);
  SDOType contained1Property1_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,contained1Property1_type);
  contained1Property1_type.setDataType(false);
  contained1Property1.setType(contained1Property1_type);
  contained1Property1.setOpposite(containedByContainedProperty1);
  containedType1.addDeclaredProperty(contained1Property1);
  containedDataObject1=(SDODataObject)dataFactory.create(containedType1);
  containedByContainedType=new SDOType(containedBycontainedType1Uri,containedByContainedTypeName);
  qname=new QName(containedBycontainedType1Uri,containedByContainedTypeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedByContainedType);
  containedByContainedProperty1=new SDOProperty(aHelperContext);
  containedByContainedProperty1.setName("String_Node_Str");
  containedByContainedProperty1.setContainment(false);
  SDOType containedByContainedProperty1_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedByContainedProperty1_type);
  containedByContainedProperty1_type.setDataType(false);
  containedByContainedProperty1.setType(containedByContainedProperty1_type);
  containedByContainedProperty1.setOpposite(contained1Property1);
  containedByContainedType.addDeclaredProperty(containedByContainedProperty1);
  contained1Property1.setOpposite(containedByContainedProperty1);
  containedByContainedProperty2=new SDOProperty(aHelperContext);
  containedByContainedProperty2.setName("String_Node_Str");
  containedByContainedProperty2.setContainment(false);
  SDOType containedByContainedProperty2_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedByContainedProperty2_type);
  containedByContainedProperty2_type.setDataType(false);
  containedByContainedProperty2.setType(containedByContainedProperty2_type);
  containedByContainedType.addDeclaredProperty(containedByContainedProperty2);
  containedByContainedProperty3=new SDOProperty(aHelperContext);
  containedByContainedProperty3.setName("String_Node_Str");
  containedByContainedProperty3.setContainment(false);
  SDOType containedByContainedProperty3_type=new SDOType("String_Node_Str","String_Node_Str");
  qname=new QName("String_Node_Str","String_Node_Str");
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,containedByContainedProperty3_type);
  containedByContainedProperty3_type.setDataType(false);
  containedByContainedProperty3.setType(containedByContainedProperty3_type);
  containedByContainedType.addDeclaredProperty(containedByContainedProperty3);
  containedByContainedDataObject=(SDODataObject)dataFactory.create(containedByContainedType);
  root=(SDODataObject)dataFactory.create(rootType);
  root.set(rootProperty1,"String_Node_Str");
  root.set(rootProperty2,containedDataObject);
  root.set(rootProperty3,containedDataObject1);
  root.set(rootProperty4,objects);
  containedDataObject.set(containedProperty1,"String_Node_Str");
  containedDataObject.set(containedProperty2,containedByContainedDataObject);
  containedDataObject1.set(contained1Property1,containedByContainedDataObject);
  containedByContainedDataObject.set(containedByContainedProperty1,containedDataObject1);
  rootUC4Type=new SDOType(rootUC4TypeUri,rootUC4TypeName);
  qname=new QName(rootUC4TypeUri,rootUC4TypeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootUC4Type);
  homeType=new SDOType(homeObjectUri,homeObjectName);
  qname=new QName(homeObjectUri,homeObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeType);
  addressType=new SDOType(addressObjectUri,addressObjectName);
  qname=new QName(addressObjectUri,addressObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressType);
  workType=new SDOType(workObjectUri,workObjectName);
  qname=new QName(workObjectUri,workObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,workType);
  rootHome=new SDOProperty(aHelperContext);
  rootHome.setName(rootHomeName);
  rootHome.setContainment(true);
  SDOType rootHome_type=new SDOType(rootHomeUri,rootHomeName);
  qname=new QName(rootHomeUri,rootHomeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootHome_type);
  rootHome_type.setDataType(false);
  rootHome.setType(rootHome_type);
  rootUC4Type.addDeclaredProperty((Property)rootHome);
  rootWork=new SDOProperty(aHelperContext);
  rootWork.setName(rootWorkName);
  rootWork.setContainment(false);
  SDOType rootWork_type=new SDOType(rootWorkUri,rootWorkName);
  qname=new QName(rootWorkUri,rootWorkName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootWork_type);
  rootWork_type.setDataType(false);
  rootWork.setType(rootWork_type);
  rootUC4Type.addDeclaredProperty((Property)rootWork);
  homeAddress=new SDOProperty(aHelperContext);
  homeAddress.setName(homeAddressName);
  homeAddress.setContainment(true);
  SDOType homeAddress_type=new SDOType(homeAddressUri,homeAddressName);
  qname=new QName(homeAddressUri,homeAddressName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeAddress_type);
  homeAddress_type.setDataType(false);
  homeAddress.setType(homeAddress_type);
  homeType.addDeclaredProperty((Property)homeAddress);
  workAddress=new SDOProperty(aHelperContext);
  workAddress.setName(workAddressName);
  workAddress.setContainment(false);
  SDOType workAddress_type=new SDOType(workAddressUri,workAddressName);
  qname=new QName(workAddressUri,workAddressName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,workAddress_type);
  workAddress_type.setDataType(false);
  workAddress.setType(workAddress_type);
  workType.addDeclaredProperty((Property)workAddress);
  addressWork=new SDOProperty(aHelperContext);
  addressWork.setName(addressWorkName);
  addressWork.setContainment(true);
  SDOType addressWork_type=new SDOType(addressWorkUri,addressWorkName);
  qname=new QName(addressWorkUri,addressWorkName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressWork_type);
  addressWork_type.setDataType(false);
  addressWork.setType(addressWork_type);
  addressType.addDeclaredProperty((Property)addressWork);
  rootUC4=(SDODataObject)dataFactory.create(rootUC4Type);
  addressObject=(SDODataObject)dataFactory.create(addressType);
  homeObject=(SDODataObject)dataFactory.create(homeType);
  workObject=(SDODataObject)dataFactory.create(workType);
  addressWork.setOpposite(workAddress);
  workAddress.setOpposite(addressWork);
  rootUC4.set(rootHome,homeObject);
  rootUC4.set(rootWork,workObject);
  homeObject.set(homeAddress,addressObject);
  addressObject.set(addressWork,workObject);
  workObject.set(workAddress,addressObject);
  rootUC4Typem=new SDOType(rootUC4TypeUrim,rootUC4TypeName);
  qname=new QName(rootUC4TypeUrim,rootUC4TypeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootUC4Typem);
  homeTypem=new SDOType(homeObjectUrim,homeObjectName);
  qname=new QName(homeObjectUrim,homeObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeTypem);
  addressTypem=new SDOType(addressObjectUrim,addressObjectName);
  qname=new QName(addressObjectUrim,addressObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressTypem);
  workTypem=new SDOType(workObjectUrim,workObjectName);
  qname=new QName(workObjectUrim,workObjectName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,workTypem);
  rootHomem=new SDOProperty(aHelperContext);
  rootHomem.setName(rootHomeName);
  rootHomem.setContainment(true);
  SDOType rootHome_typem=new SDOType(rootHomeUrim,rootHomeName);
  qname=new QName(rootHomeUrim,rootHomeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootHome_typem);
  rootHome_typem.setDataType(false);
  rootHomem.setType(rootHome_typem);
  rootUC4Typem.addDeclaredProperty((Property)rootHomem);
  rootWorkm=new SDOProperty(aHelperContext);
  rootWorkm.setName(rootWorkName);
  rootWorkm.setContainment(false);
  rootWorkm.setMany(true);
  SDOType rootWork_typem=new SDOType(rootWorkUrim,rootWorkName);
  qname=new QName(rootWorkUrim,rootWorkName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootWork_typem);
  rootWork_typem.setDataType(false);
  rootWorkm.setType(rootWork_typem);
  rootUC4Typem.addDeclaredProperty((Property)rootWorkm);
  homeAddressm=new SDOProperty(aHelperContext);
  homeAddressm.setName(homeAddressName);
  homeAddressm.setContainment(true);
  SDOType homeAddress_typem=new SDOType(homeAddressUrim,homeAddressName);
  qname=new QName(homeAddressUrim,homeAddressName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeAddress_typem);
  homeAddress_typem.setDataType(false);
  homeAddressm.setType(homeAddress_typem);
  homeTypem.addDeclaredProperty((Property)homeAddressm);
  workAddressm=new SDOProperty(aHelperContext);
  workAddressm.setName(workAddressName);
  workAddressm.setContainment(false);
  SDOType workAddress_typem=new SDOType(workAddressUri,workAddressName);
  qname=new QName(workAddressUri,workAddressName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,workAddress_typem);
  workAddress_typem.setDataType(false);
  workAddressm.setType(workAddress_typem);
  workTypem.addDeclaredProperty((Property)workAddressm);
  addressWorkm=new SDOProperty(aHelperContext);
  addressWorkm.setName(addressWorkName);
  addressWorkm.setContainment(false);
  addressWorkm.setMany(true);
  SDOType addressWork_typem=new SDOType(addressWorkUri,addressWorkName);
  qname=new QName(addressWorkUri,addressWorkName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressWork_typem);
  addressWork_typem.setDataType(false);
  addressWorkm.setType(addressWork_typem);
  addressTypem.addDeclaredProperty((Property)addressWorkm);
  rootUC4m=(SDODataObject)dataFactory.create(rootUC4Typem);
  addressObjectm=(SDODataObject)dataFactory.create(addressTypem);
  homeObjectm=(SDODataObject)dataFactory.create(homeTypem);
  workObjectm=(SDODataObject)dataFactory.create(workTypem);
  addressWorkm.setOpposite(workAddressm);
  workAddressm.setOpposite(addressWorkm);
  rootUC4m.set(rootHomem,homeObjectm);
  ArrayList workList=new ArrayList();
  workList.add(workObjectm);
  rootUC4m.set(rootWorkm,workList);
  homeObjectm.set(homeAddressm,addressObjectm);
  addressObjectm.set(addressWorkm,workList);
  workObjectm.set(workAddressm,addressObjectm);
  rootUCUniOutsideType=new SDOType(rootUCUniOutsideTypeUri,rootUCUniOutsideTypeName);
  qname=new QName(rootUCUniOutsideTypeUri,rootUCUniOutsideTypeName);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootUCUniOutsideType);
  homeTypeUCUniOutside=new SDOType(homeObjectUriUCUniOutside,homeObjectNameUCUniOutside);
  qname=new QName(homeObjectUriUCUniOutside,homeObjectNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeTypeUCUniOutside);
  addressTypeUCUniOutside=new SDOType(addressObjectUriUCUniOutside,addressObjectNameUCUniOutside);
  qname=new QName(addressObjectUriUCUniOutside,addressObjectNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressTypeUCUniOutside);
  workTypeUCUniOutside=new SDOType(workObjectUriUCUniOutside,workObjectNameUCUniOutside);
  qname=new QName(workObjectUriUCUniOutside,workObjectNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,workTypeUCUniOutside);
  rootHomeUCUniOutside=new SDOProperty(aHelperContext);
  rootHomeUCUniOutside.setName(rootHomeNameUCUniOutside);
  rootHomeUCUniOutside.setContainment(true);
  SDOType rootHome_typeUCUniOutside=new SDOType(rootHomeUriUCUniOutside,rootHomeNameUCUniOutside);
  qname=new QName(rootHomeUriUCUniOutside,rootHomeNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootHome_typeUCUniOutside);
  rootHome_typeUCUniOutside.setDataType(false);
  rootHomeUCUniOutside.setType(rootHome_typeUCUniOutside);
  rootUCUniOutsideType.addDeclaredProperty((Property)rootHomeUCUniOutside);
  rootWorkUCUniOutside=new SDOProperty(aHelperContext);
  rootWorkUCUniOutside.setName(rootWorkNameUCUniOutside);
  rootWorkUCUniOutside.setContainment(false);
  SDOType rootWork_typeUCUniOutside=new SDOType(rootWorkUriUCUniOutside,rootWorkNameUCUniOutside);
  qname=new QName(rootWorkUriUCUniOutside,rootWorkNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,rootWork_typeUCUniOutside);
  rootWork_typeUCUniOutside.setDataType(false);
  rootWorkUCUniOutside.setType(rootWork_typeUCUniOutside);
  rootUCUniOutsideType.addDeclaredProperty((Property)rootWorkUCUniOutside);
  homeAddressUCUniOutside=new SDOProperty(aHelperContext);
  homeAddressUCUniOutside.setName(homeAddressNameUCUniOutside);
  homeAddressUCUniOutside.setContainment(true);
  SDOType homeAddress_typeUCUniOutside=new SDOType(homeAddressUriUCUniOutside,homeAddressNameUCUniOutside);
  qname=new QName(homeAddressUriUCUniOutside,homeAddressNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,homeAddress_typeUCUniOutside);
  homeAddress_typeUCUniOutside.setDataType(false);
  homeAddressUCUniOutside.setType(homeAddress_typeUCUniOutside);
  homeTypeUCUniOutside.addDeclaredProperty((Property)homeAddressUCUniOutside);
  addressWorkUCUniOutside=new SDOProperty(aHelperContext);
  addressWorkUCUniOutside.setName(addressWorkNameUCUniOutside);
  addressWorkUCUniOutside.setContainment(true);
  SDOType addressWork_typeUCUniOutside=new SDOType(addressWorkUriUCUniOutside,addressWorkNameUCUniOutside);
  qname=new QName(addressWorkUriUCUniOutside,addressWorkNameUCUniOutside);
  ((SDOTypeHelper)typeHelper).getTypesHashMap().put(qname,addressWork_typeUCUniOutside);
  addressWork_typeUCUniOutside.setDataType(false);
  addressWorkUCUniOutside.setType(addressWork_typeUCUniOutside);
  addressTypeUCUniOutside.addDeclaredProperty((Property)addressWorkUCUniOutside);
  rootUCUniOutside=(SDODataObject)dataFactory.create(rootUCUniOutsideType);
  addressObjectUCUniOutside=(SDODataObject)dataFactory.create(addressTypeUCUniOutside);
  homeObjectUCUniOutside=(SDODataObject)dataFactory.create(homeTypeUCUniOutside);
  workObjectUCUniOutside=(SDODataObject)dataFactory.create(workTypeUCUniOutside);
  rootUCUniOutside.set(rootHomeUCUniOutside,homeObjectUCUniOutside);
  rootUCUniOutside.set(rootWorkUCUniOutside,workObjectUCUniOutside);
  homeObjectUCUniOutside.set(homeAddressUCUniOutside,addressObjectUCUniOutside);
  addressObjectUCUniOutside.set(addressWorkUCUniOutside,workObjectUCUniOutside);
  containedDataObject.getChangeSummary().beginLogging();
}