Program: 68364
Project: 68364
Buggy source:
protected void registerTypes(){
  ((SDOTypeHelper)typeHelper).reset();
  SDOType dataObjectType=(SDOType)typeHelper.getType(SDOConstants.SDO_URL,SDOConstants.DATAOBJECT);
  SDOType propertyType=(SDOType)typeHelper.getType(SDOConstants.SDO_URL,SDOConstants.PROPERTY);
  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);
  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);
  DataObject test4Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_DATETIME,false,false,true);
  DataObject test5Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_SHORT,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",childType,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");
  DataObject propDO=dataFactory.create(propertyType);
  propDO.set("String_Node_Str",getControlRootName());
  propDO.set("String_Node_Str",myRootType);
  typeHelper.defineOpenContentProperty(getControlRootURI(),propDO);
}

Fixed version (ground truth):
protected void registerTypes(){
  ((SDOTypeHelper)typeHelper).reset();
  SDOType dataObjectType=(SDOType)typeHelper.getType(SDOConstants.SDO_URL,SDOConstants.DATAOBJECT);
  SDOType propertyType=(SDOType)typeHelper.getType(SDOConstants.SDO_URL,SDOConstants.PROPERTY);
  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);
  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);
  DataObject test4Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_DATETIME,false,false,true);
  DataObject test5Prop=addProperty(myRootTypeDO,"String_Node_Str",SDOConstants.SDO_SHORT,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",childType,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");
  DataObject propDO=dataFactory.create(propertyType);
  propDO.set("String_Node_Str",getControlRootName());
  propDO.set("String_Node_Str",myRootType);
  typeHelper.defineOpenContentProperty(getControlRootURI(),propDO);
}