Program: 67440
Project: 67440
Buggy source:
public void generateCollectionMapping(Property property,XMLDescriptor descriptor,NamespaceInfo namespaceInfo){
  JavaClass javaClass=null;
  if (property.getGenericType() != null) {
    javaClass=(JavaClass)property.getGenericType();
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlElement.class)) {
    XmlElement xmlElement=(XmlElement)helper.getAnnotation(property.getElement(),XmlElement.class);
    if (xmlElement.type() != XmlElement.DEFAULT.class) {
      javaClass=helper.getJavaClass(xmlElement.type());
    }
  }
  if (javaClass != null && typeInfo.get(javaClass.getQualifiedName()) != null) {
    TypeInfo referenceInfo=typeInfo.get(javaClass.getQualifiedName());
    if (referenceInfo.isEnumerationType()) {
      generateEnumCollectionMapping(property,descriptor,namespaceInfo,(EnumTypeInfo)referenceInfo);
    }
 else {
      if (helper.isAnnotationPresent(property.getElement(),XmlIDREF.class)) {
        generateXMLCollectionReferenceMapping(property,descriptor,namespaceInfo,javaClass);
      }
 else {
        generateCompositeCollectionMapping(property,descriptor,namespaceInfo,javaClass.getQualifiedName());
      }
    }
  }
 else   if (!property.isAttribute() && javaClass != null && javaClass.getQualifiedName().equals("String_Node_Str")) {
    XMLCompositeCollectionMapping ccMapping=generateCompositeCollectionMapping(property,descriptor,namespaceInfo,null);
    ccMapping.setKeepAsElementPolicy(UnmarshalKeepAsElementPolicy.KEEP_UNKNOWN_AS_ELEMENT);
  }
 else {
    generateDirectCollectionMapping(property,descriptor,namespaceInfo);
  }
}

Fixed version (ground truth):
public void generateCollectionMapping(Property property,XMLDescriptor descriptor,NamespaceInfo namespaceInfo){
  JavaClass javaClass=null;
  if (property.getGenericType() != null) {
    javaClass=(JavaClass)property.getGenericType();
  }
  if (property.isMixedContent()) {
    generateAnyCollectionMapping(property,descriptor,namespaceInfo,true);
    return;
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlElement.class)) {
    XmlElement xmlElement=(XmlElement)helper.getAnnotation(property.getElement(),XmlElement.class);
    if (xmlElement.type() != XmlElement.DEFAULT.class) {
      javaClass=helper.getJavaClass(xmlElement.type());
    }
  }
  if (javaClass != null && typeInfo.get(javaClass.getQualifiedName()) != null) {
    TypeInfo referenceInfo=typeInfo.get(javaClass.getQualifiedName());
    if (referenceInfo.isEnumerationType()) {
      generateEnumCollectionMapping(property,descriptor,namespaceInfo,(EnumTypeInfo)referenceInfo);
    }
 else {
      if (helper.isAnnotationPresent(property.getElement(),XmlIDREF.class)) {
        generateXMLCollectionReferenceMapping(property,descriptor,namespaceInfo,javaClass);
      }
 else {
        generateCompositeCollectionMapping(property,descriptor,namespaceInfo,javaClass.getQualifiedName());
      }
    }
  }
 else   if (!property.isAttribute() && javaClass != null && javaClass.getQualifiedName().equals("String_Node_Str")) {
    XMLCompositeCollectionMapping ccMapping=generateCompositeCollectionMapping(property,descriptor,namespaceInfo,null);
    ccMapping.setKeepAsElementPolicy(UnmarshalKeepAsElementPolicy.KEEP_UNKNOWN_AS_ELEMENT);
  }
 else {
    generateDirectCollectionMapping(property,descriptor,namespaceInfo);
  }
}