Program: 68078
Project: 68078
Buggy source:
public List<SDOType> getControlTypes(){
  List<SDOType> types=new ArrayList<SDOType>();
  Type stringType=typeHelper.getType("String_Node_Str","String_Node_Str");
  Type intType=typeHelper.getType("String_Node_Str","String_Node_Str");
  SDOType quantityType=new SDOType(uri,"String_Node_Str");
  quantityType.setXsd(true);
  quantityType.setXsdLocalName("String_Node_Str");
  quantityType.setDataType(true);
  quantityType.setInstanceClassName("String_Node_Str");
  quantityType.addBaseType((SDOType)intType);
  SDOType SKUType=new SDOType(uri,"String_Node_Str");
  SKUType.setXsd(true);
  SKUType.setXsdLocalName("String_Node_Str");
  SKUType.setInstanceClassName("String_Node_Str");
  SKUType.setDataType(true);
  SKUType.addBaseType((SDOType)stringType);
  SDOType phoneType=new SDOType(uri,"String_Node_Str");
  phoneType.setXsd(true);
  phoneType.setXsdLocalName("String_Node_Str");
  phoneType.setDataType(false);
  phoneType.setInstanceClassName("String_Node_Str");
  SDOProperty numberProp=new SDOProperty(aHelperContext);
  numberProp.setName("String_Node_Str");
  numberProp.setXsdLocalName("String_Node_Str");
  numberProp.setXsd(true);
  numberProp.setType(stringType);
  phoneType.addDeclaredProperty(numberProp);
  SDOType USaddrType=new SDOType(uri2,"String_Node_Str");
  USaddrType.setXsd(true);
  USaddrType.setXsdLocalName("String_Node_Str");
  USaddrType.setDataType(false);
  USaddrType.setInstanceClassName("String_Node_Str");
  SDOProperty streetProp=new SDOProperty(aHelperContext);
  streetProp.setName("String_Node_Str");
  streetProp.setXsd(true);
  streetProp.setXsdLocalName("String_Node_Str");
  streetProp.setType(stringType);
  USaddrType.addDeclaredProperty(streetProp);
  SDOProperty cityProp=new SDOProperty(aHelperContext);
  cityProp.setName("String_Node_Str");
  cityProp.setXsdLocalName("String_Node_Str");
  cityProp.setType(stringType);
  cityProp.setXsd(true);
  USaddrType.addDeclaredProperty(cityProp);
  SDOProperty quantityProp=new SDOProperty(aHelperContext);
  quantityProp.setName("String_Node_Str");
  quantityProp.setXsdLocalName("String_Node_Str");
  quantityProp.setType(stringType);
  quantityProp.setXsd(true);
  USaddrType.addDeclaredProperty(quantityProp);
  SDOProperty partNumProp=new SDOProperty(aHelperContext);
  partNumProp.setName("String_Node_Str");
  partNumProp.setXsdLocalName("String_Node_Str");
  partNumProp.setType(SKUType);
  partNumProp.setXsd(true);
  USaddrType.addDeclaredProperty(partNumProp);
  SDOProperty phoneProp=new SDOProperty(aHelperContext);
  phoneProp.setName("String_Node_Str");
  phoneProp.setXsdLocalName("String_Node_Str");
  phoneProp.setType(phoneType);
  phoneProp.setXsd(true);
  phoneProp.setInstanceProperty(SDOConstants.XMLELEMENT_PROPERTY,Boolean.TRUE);
  USaddrType.addDeclaredProperty(phoneProp);
  SDOProperty shipToProp=new SDOProperty(aHelperContext);
  shipToProp.setName("String_Node_Str");
  shipToProp.setXsdLocalName("String_Node_Str");
  shipToProp.setContainment(true);
  shipToProp.setType(USaddrType);
  shipToProp.setXsd(true);
  SDOProperty billToProp=new SDOProperty(aHelperContext);
  billToProp.setName("String_Node_Str");
  billToProp.setXsdLocalName("String_Node_Str");
  billToProp.setContainment(true);
  billToProp.setType(USaddrType);
  billToProp.setXsd(true);
  SDOType POtype=new SDOType(uri,"String_Node_Str");
  POtype.setXsd(true);
  POtype.setXsdLocalName("String_Node_Str");
  POtype.setInstanceClassName("String_Node_Str");
  POtype.setDataType(false);
  POtype.addDeclaredProperty(shipToProp);
  POtype.addDeclaredProperty(billToProp);
  types.add(POtype);
  types.add(USaddrType);
  types.add(phoneType);
  types.add(SKUType);
  return types;
}

Fixed version (ground truth):
public List<Type> getControlTypes(){
  SDOType intType=(SDOType)typeHelper.getType("String_Node_Str","String_Node_Str");
  SDOType stringType=(SDOType)typeHelper.getType("String_Node_Str","String_Node_Str");
  DataObject PhoneTypeDO=dataFactory.create("String_Node_Str","String_Node_Str");
  PhoneTypeDO.set("String_Node_Str","String_Node_Str");
  PhoneTypeDO.set("String_Node_Str","String_Node_Str");
  DataObject numberProperty=PhoneTypeDO.createDataObject("String_Node_Str");
  numberProperty.set("String_Node_Str","String_Node_Str");
  SDOType phoneType=(SDOType)typeHelper.define(PhoneTypeDO);
  phoneType.addBaseType(stringType);
  phoneType.setInstanceClassName("String_Node_Str");
  DataObject USaddrDO=dataFactory.create("String_Node_Str","String_Node_Str");
  USaddrDO.set("String_Node_Str","String_Node_Str");
  USaddrDO.set("String_Node_Str","String_Node_Str");
  DataObject streetProperty=USaddrDO.createDataObject("String_Node_Str");
  streetProperty.set("String_Node_Str","String_Node_Str");
  DataObject cityProperty=USaddrDO.createDataObject("String_Node_Str");
  cityProperty.set("String_Node_Str","String_Node_Str");
  DataObject quantityProperty=USaddrDO.createDataObject("String_Node_Str");
  quantityProperty.set("String_Node_Str","String_Node_Str");
  DataObject partNumProperty=USaddrDO.createDataObject("String_Node_Str");
  partNumProperty.set("String_Node_Str","String_Node_Str");
  DataObject phoneProperty=USaddrDO.createDataObject("String_Node_Str");
  phoneProperty.set("String_Node_Str","String_Node_Str");
  phoneProperty.set("String_Node_Str",phoneType);
  SDOType usAddrType=(SDOType)typeHelper.define(USaddrDO);
  usAddrType.setInstanceClassName("String_Node_Str");
  DataObject QuantityTypeDO=dataFactory.create("String_Node_Str","String_Node_Str");
  QuantityTypeDO.set("String_Node_Str","String_Node_Str");
  QuantityTypeDO.set("String_Node_Str","String_Node_Str");
  SDOType quantityType=(SDOType)typeHelper.define(QuantityTypeDO);
  quantityType.addBaseType(intType);
  DataObject SkuDO=dataFactory.create("String_Node_Str","String_Node_Str");
  SkuDO.set("String_Node_Str","String_Node_Str");
  SkuDO.set("String_Node_Str","String_Node_Str");
  SDOType skuType=(SDOType)typeHelper.define(SkuDO);
  skuType.addBaseType(stringType);
  DataObject PurchaseOrderDO=dataFactory.create("String_Node_Str","String_Node_Str");
  PurchaseOrderDO.set("String_Node_Str","String_Node_Str");
  PurchaseOrderDO.set("String_Node_Str","String_Node_Str");
  DataObject shipToProperty=PurchaseOrderDO.createDataObject("String_Node_Str");
  shipToProperty.set("String_Node_Str","String_Node_Str");
  shipToProperty.set("String_Node_Str",usAddrType);
  DataObject billToProperty=PurchaseOrderDO.createDataObject("String_Node_Str");
  billToProperty.set("String_Node_Str","String_Node_Str");
  billToProperty.set("String_Node_Str",usAddrType);
  Type purchaseOrderType=typeHelper.define(PurchaseOrderDO);
  List<Type> types=new ArrayList<Type>();
  types.add(usAddrType);
  types.add(phoneType);
  types.add(skuType);
  types.add(purchaseOrderType);
  return types;
}