Program: 68076
Project: 68076
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 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);
  SDOProperty orderNameProp=new SDOProperty(aHelperContext);
  orderNameProp.setName("String_Node_Str");
  orderNameProp.setXsdLocalName("String_Node_Str");
  orderNameProp.setContainment(false);
  orderNameProp.setInstanceProperty(SDOConstants.XMLELEMENT_PROPERTY,Boolean.TRUE);
  orderNameProp.setType(SDOConstants.SDO_STRING);
  orderNameProp.setXsd(true);
  SDOProperty phoneProp=new SDOProperty(aHelperContext);
  phoneProp.setName("String_Node_Str");
  phoneProp.setXsdLocalName("String_Node_Str");
  phoneProp.setContainment(true);
  phoneProp.setType(phoneType);
  phoneProp.setXsd(true);
  SDOProperty phoneAttrProp=new SDOProperty(aHelperContext);
  phoneAttrProp.setName("String_Node_Str");
  phoneAttrProp.setXsdLocalName("String_Node_Str");
  phoneAttrProp.setContainment(false);
  phoneAttrProp.setType(SDOConstants.SDO_STRING);
  phoneAttrProp.setXsd(true);
  SDOType POtype=new SDOType(uri2,"String_Node_Str");
  POtype.setXsd(true);
  POtype.setXsdLocalName("String_Node_Str");
  POtype.setInstanceClassName("String_Node_Str");
  POtype.setDataType(false);
  POtype.addDeclaredProperty(orderNameProp);
  POtype.addDeclaredProperty(phoneProp);
  POtype.addDeclaredProperty(phoneAttrProp);
  types.add(phoneType);
  types.add(POtype);
  return types;
}

Fixed version (ground truth):
public List<SDOType> getControlTypes(){
  SDOType stringType=(SDOType)typeHelper.getType("String_Node_Str","String_Node_Str");
  SDOType intType=(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 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 orderNameProperty=PurchaseOrderDO.createDataObject("String_Node_Str");
  orderNameProperty.set("String_Node_Str","String_Node_Str");
  orderNameProperty.set("String_Node_Str",SDOConstants.SDO_STRING);
  orderNameProperty.set(SDOConstants.XMLELEMENT_PROPERTY,Boolean.TRUE);
  DataObject phoneTypeProperty=PurchaseOrderDO.createDataObject("String_Node_Str");
  phoneTypeProperty.set("String_Node_Str","String_Node_Str");
  phoneTypeProperty.set("String_Node_Str",phoneType);
  DataObject phoneTypeAttrProperty=PurchaseOrderDO.createDataObject("String_Node_Str");
  phoneTypeAttrProperty.set("String_Node_Str","String_Node_Str");
  phoneTypeAttrProperty.set("String_Node_Str",SDOConstants.SDO_STRING);
  SDOType purchaseOrderType=(SDOType)typeHelper.define(PurchaseOrderDO);
  purchaseOrderType.setInstanceClassName("String_Node_Str");
  List<SDOType> types=new ArrayList<SDOType>();
  types.add(phoneType);
  types.add(purchaseOrderType);
  return types;
}