Program: 66625
Project: 66625
Buggy source:
/** 
 * Initialize maps, lists, etc. Typically called prior to processing a set of  classes via preBuildTypeInfo, postBuildTypeInfo, processJavaClasses.
 */
void init(JavaClass[] classes,TypeMappingInfo[] typeMappingInfos){
  typeInfoClasses=new ArrayList<JavaClass>();
  typeInfo=new HashMap<String,TypeInfo>();
  typeQNames=new ArrayList<QName>();
  userDefinedSchemaTypes=new HashMap<String,QName>();
  if (packageToNamespaceMappings == null) {
    packageToNamespaceMappings=new HashMap<String,NamespaceInfo>();
  }
  this.factoryMethods=new HashMap<String,JavaMethod>();
  this.namespaceResolver=new NamespaceResolver();
  this.xmlRootElements=new HashMap<String,ElementDeclaration>();
  arrayClassesToGeneratedClasses=new HashMap<String,Class>();
  collectionClassesToGeneratedClasses=new HashMap<java.lang.reflect.Type,Class>();
  generatedClassesToArrayClasses=new HashMap<Class,JavaClass>();
  generatedClassesToCollectionClasses=new HashMap<Class,java.lang.reflect.Type>();
  typeMappingInfoToGeneratedClasses=new HashMap<TypeMappingInfo,Class>();
  globalElements=new HashMap<QName,ElementDeclaration>();
  localElements=new ArrayList<ElementDeclaration>();
  javaClassToTypeMappingInfos=new HashMap<JavaClass,TypeMappingInfo>();
  if (typeMappingInfos != null) {
    for (int i=0; i < typeMappingInfos.length; i++) {
      javaClassToTypeMappingInfos.put(classes[i],typeMappingInfos[i]);
    }
  }
  typeMappingInfoToAdapterClasses=new HashMap<TypeMappingInfo,Class>();
  if (typeMappingInfos != null) {
    for (    TypeMappingInfo next : typeMappingInfos) {
      java.lang.annotation.Annotation[] annotations=getAnnotations(next);
      if (annotations != null) {
        for (        java.lang.annotation.Annotation nextAnnotation : annotations) {
          if (nextAnnotation instanceof XmlJavaTypeAdapter) {
            typeMappingInfoToAdapterClasses.put(next,((XmlJavaTypeAdapter)nextAnnotation).value());
          }
        }
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Initialize maps, lists, etc. Typically called prior to processing a set of  classes via preBuildTypeInfo, postBuildTypeInfo, processJavaClasses.
 */
void init(JavaClass[] classes,TypeMappingInfo[] typeMappingInfos){
  typeInfoClasses=new ArrayList<JavaClass>();
  typeInfo=new HashMap<String,TypeInfo>();
  typeQNames=new ArrayList<QName>();
  userDefinedSchemaTypes=new HashMap<String,QName>();
  if (packageToNamespaceMappings == null) {
    packageToNamespaceMappings=new HashMap<String,NamespaceInfo>();
  }
  this.factoryMethods=new HashMap<String,JavaMethod>();
  this.namespaceResolver=new NamespaceResolver();
  this.xmlRootElements=new HashMap<String,ElementDeclaration>();
  arrayClassesToGeneratedClasses=new HashMap<String,Class>();
  collectionClassesToGeneratedClasses=new HashMap<java.lang.reflect.Type,Class>();
  generatedClassesToArrayClasses=new HashMap<Class,JavaClass>();
  generatedClassesToCollectionClasses=new HashMap<Class,java.lang.reflect.Type>();
  typeMappingInfoToGeneratedClasses=new HashMap<TypeMappingInfo,Class>();
  typeMappingInfoToSchemaType=new HashMap<TypeMappingInfo,QName>();
  globalElements=new HashMap<QName,ElementDeclaration>();
  localElements=new ArrayList<ElementDeclaration>();
  javaClassToTypeMappingInfos=new HashMap<JavaClass,TypeMappingInfo>();
  if (typeMappingInfos != null) {
    for (int i=0; i < typeMappingInfos.length; i++) {
      javaClassToTypeMappingInfos.put(classes[i],typeMappingInfos[i]);
    }
  }
  typeMappingInfoToAdapterClasses=new HashMap<TypeMappingInfo,Class>();
  if (typeMappingInfos != null) {
    for (    TypeMappingInfo next : typeMappingInfos) {
      java.lang.annotation.Annotation[] annotations=getAnnotations(next);
      if (annotations != null) {
        for (        java.lang.annotation.Annotation nextAnnotation : annotations) {
          if (nextAnnotation instanceof XmlJavaTypeAdapter) {
            typeMappingInfoToAdapterClasses.put(next,((XmlJavaTypeAdapter)nextAnnotation).value());
          }
        }
      }
    }
  }
}