Program: 68368
Project: 68368
Buggy source:
public List getControlTypes(){
  List types=new ArrayList();
  ((SDOTypeHelper)typeHelper).reset();
  SDOType dataObjectType=(SDOType)typeHelper.getType(SDOConstants.SDO_URL,SDOConstants.DATAOBJECT);
  SDOProperty xmlDataTypeProperty=(SDOProperty)typeHelper.getOpenContentProperty(SDOConstants.ORACLE_SDO_URL,SDOConstants.SDOXML_DATATYPE);
  SDOProperty xmlSchemaTypeProperty=(SDOProperty)typeHelper.getOpenContentProperty(SDOConstants.ORACLE_SDO_URL,SDOConstants.XML_SCHEMA_TYPE_NAME);
  DataObject myChildTypeDO=dataFactory.create("String_Node_Str","String_Node_Str");
  myChildTypeDO.set("String_Node_Str","String_Node_Str");
  myChildTypeDO.set("String_Node_Str","String_Node_Str");
  addProperty(myChildTypeDO,"String_Node_Str",SDOConstants.SDO_STRING,false,false,true);
  Type childType=typeHelper.define(myChildTypeDO);
  ((SDOProperty)childType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)childType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  DataObject myRootTypeDO=dataFactory.create("String_Node_Str","String_Node_Str");
  myRootTypeDO.set("String_Node_Str","String_Node_Str");
  myRootTypeDO.set("String_Node_Str","String_Node_Str");
  DataObject test1Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_INTOBJECT,false,false,true);
  test1Prop.set(xmlDataTypeProperty,SDOConstants.SDO_INTOBJECT);
  DataObject test2Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_BOOLEANOBJECT,false,false,true);
  test2Prop.set(xmlDataTypeProperty,SDOConstants.SDO_BOOLEANOBJECT);
  DataObject test3Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_DATE,false,false,true);
  test3Prop.set(xmlDataTypeProperty,SDOConstants.SDO_DATE);
  DataObject test4Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_DATETIME,false,false,true);
  test4Prop.set(xmlDataTypeProperty,SDOConstants.SDO_DATETIME);
  DataObject test5Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_SHORTOBJECT,false,false,true);
  test5Prop.set(xmlDataTypeProperty,SDOConstants.SDO_SHORTOBJECT);
  DataObject test6Prop=addProperty(myRootTypeDO,"String_Node_Str",dataObjectType,true,false,true);
  test6Prop.set(xmlDataTypeProperty,dataObjectType);
  DataObject test7Prop=addProperty(myRootTypeDO,"String_Node_Str",dataObjectType,true,false,true);
  test7Prop.set(xmlSchemaTypeProperty,childType);
  test7Prop.set(xmlDataTypeProperty,dataObjectType);
  Type myRootType=typeHelper.define(myRootTypeDO);
  ((SDOType)myRootType).setXsd(true);
  ((SDOType)myRootType).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  types.add(childType);
  types.add(myRootType);
  return types;
}

Fixed version (ground truth):
public List getControlTypes(){
  List types=new ArrayList();
  ((SDOTypeHelper)typeHelper).reset();
  SDOType dataObjectType=(SDOType)typeHelper.getType(SDOConstants.SDO_URL,SDOConstants.DATAOBJECT);
  SDOProperty xmlDataTypeProperty=(SDOProperty)typeHelper.getOpenContentProperty(SDOConstants.SDOXML_URL,SDOConstants.SDOXML_DATATYPE);
  SDOProperty xmlSchemaTypeProperty=(SDOProperty)typeHelper.getOpenContentProperty(SDOConstants.ORACLE_SDO_URL,SDOConstants.XML_SCHEMA_TYPE_NAME);
  DataObject myChildTypeDO=dataFactory.create("String_Node_Str","String_Node_Str");
  myChildTypeDO.set("String_Node_Str","String_Node_Str");
  myChildTypeDO.set("String_Node_Str","String_Node_Str");
  addProperty(myChildTypeDO,"String_Node_Str",SDOConstants.SDO_STRING,false,false,true);
  Type childType=typeHelper.define(myChildTypeDO);
  ((SDOProperty)childType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)childType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  DataObject myRootTypeDO=dataFactory.create("String_Node_Str","String_Node_Str");
  myRootTypeDO.set("String_Node_Str","String_Node_Str");
  myRootTypeDO.set("String_Node_Str","String_Node_Str");
  DataObject test1Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_INTOBJECT,false,false,true);
  test1Prop.set(xmlDataTypeProperty,SDOConstants.SDO_INTOBJECT);
  DataObject test2Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_BOOLEANOBJECT,false,false,true);
  test2Prop.set(xmlDataTypeProperty,SDOConstants.SDO_BOOLEANOBJECT);
  DataObject test3Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_DATE,false,false,true);
  test3Prop.set(xmlDataTypeProperty,SDOConstants.SDO_DATE);
  DataObject test4Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_DATETIME,false,false,true);
  test4Prop.set(xmlDataTypeProperty,SDOConstants.SDO_DATETIME);
  DataObject test5Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_SHORTOBJECT,false,false,true);
  test5Prop.set(xmlDataTypeProperty,SDOConstants.SDO_SHORTOBJECT);
  DataObject test6Prop=addProperty(myRootTypeDO,"String_Node_Str",dataObjectType,true,false,true);
  test6Prop.set(xmlDataTypeProperty,dataObjectType);
  DataObject test7Prop=addProperty(myRootTypeDO,"String_Node_Str",dataObjectType,true,false,true);
  test7Prop.set(xmlSchemaTypeProperty,childType);
  test7Prop.set(xmlDataTypeProperty,dataObjectType);
  Type myRootType=typeHelper.define(myRootTypeDO);
  ((SDOType)myRootType).setXsd(true);
  ((SDOType)myRootType).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsd(true);
  ((SDOProperty)myRootType.getProperty("String_Node_Str")).setXsdLocalName("String_Node_Str");
  types.add(childType);
  types.add(myRootType);
  return types;
}