Program: 67857
Project: 67857
Buggy source:
public SDOWrapperType(Type aPropertyType,String aTypeName,SDOTypeHelper aSDOTypeHelper,QName[] schemaTypes){
  super(SDOConstants.ORACLE_SDO_URL,aTypeName,aSDOTypeHelper);
  typeName=aTypeName;
  SDOProperty valueProperty=new SDOProperty(aHelperContext);
  valueProperty.setName("String_Node_Str");
  valueProperty.setType(aPropertyType);
  valueProperty.setXsdType(schemaTypes[0]);
  addDeclaredProperty(valueProperty);
  String normalizedTypeName=SDOUtil.className(aTypeName,true,true,false);
  String instanceClassName="String_Node_Str" + normalizedTypeName + "String_Node_Str";
  setInstanceClassName(instanceClassName);
  String implClassName="String_Node_Str" + normalizedTypeName + "String_Node_Str";
  setImplClassName(implClassName);
  getInstanceClass();
  getImplClass();
  xmlDescriptor.getInterfacePolicy().addParentInterface(getInstanceClass());
  initializeDescriptor(xmlDescriptor,schemaTypes[0],aPropertyType,valueProperty);
  descriptorsMap=new HashMap<QName,XMLDescriptor>();
  descriptorsMap.put(schemaTypes[0],xmlDescriptor);
  setSchemaContext(xmlDescriptor,schemaTypes[0]);
  if (schemaTypes.length > 1) {
    for (int i=1; i < schemaTypes.length; i++) {
      XMLDescriptor d=new XMLDescriptor();
      QName schemaType=schemaTypes[i];
      String className="String_Node_Str" + normalizedTypeName + "String_Node_Str"+ schemaType.getLocalPart()+ "String_Node_Str";
      try {
        SDOClassLoader loader=((SDOXMLHelper)aHelperContext.getXMLHelper()).getLoader();
        d.setJavaClass(loader.loadClass(className + "String_Node_Str",this));
        d.getInterfacePolicy().addParentInterface(loader.loadClass(className,this));
      }
 catch (      ClassNotFoundException e) {
        throw SDOException.classNotFound(e,getURI(),getName());
      }
catch (      SecurityException e) {
        throw SDOException.classNotFound(e,getURI(),getName());
      }
      initializeDescriptor(d,schemaType,aPropertyType,valueProperty);
      descriptorsMap.put(schemaTypes[i],d);
      setSchemaContext(d,schemaTypes[i]);
    }
  }
}

Fixed version (ground truth):
public SDOWrapperType(Type aPropertyType,String aTypeName,SDOTypeHelper aSDOTypeHelper,QName[] schemaTypes){
  super(SDOConstants.ORACLE_SDO_URL,aTypeName,aSDOTypeHelper);
  typeName=aTypeName;
  SDOProperty valueProperty=new SDOProperty(aHelperContext);
  valueProperty.setName("String_Node_Str");
  valueProperty.setType(aPropertyType);
  valueProperty.setXsdType(schemaTypes[0]);
  addDeclaredProperty(valueProperty);
  String normalizedTypeName=SDOUtil.className(aTypeName,true,true,false);
  String implClassName="String_Node_Str" + normalizedTypeName + "String_Node_Str";
  setImplClassName(implClassName);
  getImplClass();
  initializeDescriptor(xmlDescriptor,schemaTypes[0],aPropertyType,valueProperty);
  descriptorsMap=new HashMap<QName,XMLDescriptor>();
  descriptorsMap.put(schemaTypes[0],xmlDescriptor);
  setSchemaContext(xmlDescriptor,schemaTypes[0]);
  if (schemaTypes.length > 1) {
    for (int i=1; i < schemaTypes.length; i++) {
      XMLDescriptor d=new XMLDescriptor();
      QName schemaType=schemaTypes[i];
      String className="String_Node_Str" + normalizedTypeName + "String_Node_Str"+ schemaType.getLocalPart()+ "String_Node_Str";
      try {
        SDOClassLoader loader=((SDOXMLHelper)aHelperContext.getXMLHelper()).getLoader();
        d.setJavaClass(loader.loadClass(className + "String_Node_Str",this));
      }
 catch (      ClassNotFoundException e) {
        throw SDOException.classNotFound(e,getURI(),getName());
      }
catch (      SecurityException e) {
        throw SDOException.classNotFound(e,getURI(),getName());
      }
      initializeDescriptor(d,schemaType,aPropertyType,valueProperty);
      descriptorsMap.put(schemaTypes[i],d);
      setSchemaContext(d,schemaTypes[i]);
    }
  }
}