Program: 66830
Project: 66830
Buggy source:
private void processPropertyAnnotations(TypeInfo info,JavaClass cls,JavaHasAnnotations javaHasAnnotations,Property property){
  if (helper.isAnnotationPresent(javaHasAnnotations,XmlMixed.class)) {
    info.setMixed(true);
    property.setMixedContent(true);
  }
  if (helper.isAnnotationPresent(javaHasAnnotations,XmlContainerProperty.class)) {
    XmlContainerProperty container=(XmlContainerProperty)helper.getAnnotation(javaHasAnnotations,XmlContainerProperty.class);
    property.setBackpointerPropertyName(container.value());
    property.setBackpointerGetMethodName(container.getMethodName());
    property.setBackpointerSetMethodName(container.setMethodName());
  }
 else   if (helper.isAnnotationPresent(javaHasAnnotations,XmlBidirectional.class)) {
    XmlBidirectional backpointer=(XmlBidirectional)helper.getAnnotation(javaHasAnnotations,XmlBidirectional.class);
    property.setBackpointerPropertyName(backpointer.targetAttribute());
    TypeInfo targetInfo=this.getTypeInfo().get(property.getActualType().getName());
    if (targetInfo != null && targetInfo.getXmlAccessType() == XmlAccessType.PROPERTY) {
      String propName=property.getPropertyName();
      propName=Character.toUpperCase(propName.charAt(0)) + propName.substring(1);
      property.setBackpointerGetMethodName("String_Node_Str" + propName);
      property.setBackpointerSetMethodName("String_Node_Str" + propName);
    }
  }
  processXmlJavaTypeAdapter(property,info);
  processXmlElement(property,info);
  JavaClass ptype=property.getActualType();
  if (helper.isAnnotationPresent(property.getElement(),XmlAttachmentRef.class) && areEquals(ptype,JAVAX_ACTIVATION_DATAHANDLER)) {
    property.setIsSwaAttachmentRef(true);
    property.setSchemaType(XMLConstants.SWA_REF_QNAME);
  }
 else   if (areEquals(ptype,JAVAX_ACTIVATION_DATAHANDLER) || areEquals(ptype,byte[].class) || areEquals(ptype,Byte[].class)|| areEquals(ptype,Image.class)|| areEquals(ptype,Source.class)|| areEquals(ptype,JAVAX_MAIL_INTERNET_MIMEMULTIPART)) {
    property.setIsMtomAttachment(true);
    property.setSchemaType(XMLConstants.BASE_64_BINARY_QNAME);
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlMimeType.class)) {
    property.setMimeType(((XmlMimeType)helper.getAnnotation(property.getElement(),XmlMimeType.class)).value());
  }
 else {
    property.setMimeType("String_Node_Str");
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlSchemaType.class)) {
    XmlSchemaType schemaType=(XmlSchemaType)helper.getAnnotation(property.getElement(),XmlSchemaType.class);
    QName schemaTypeQname=new QName(schemaType.namespace(),schemaType.name());
    property.setSchemaType(schemaTypeQname);
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlAttribute.class)) {
    property.setIsAttribute(true);
    property.setIsRequired(((XmlAttribute)helper.getAnnotation(property.getElement(),XmlAttribute.class)).required());
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlAnyAttribute.class)) {
    if (info.isAnyAttributeProperty()) {
      throw org.eclipse.persistence.exceptions.JAXBException.multipleAnyAttributeMapping(cls.getName());
    }
    if (!property.getType().getName().equals("String_Node_Str")) {
      throw org.eclipse.persistence.exceptions.JAXBException.anyAttributeOnNonMap(property.getPropertyName());
    }
    property.setIsAnyAttribute(true);
    info.setAnyAttributeProperty(true);
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlElementWrapper.class)) {
    if (!isCollectionType(property) && !property.getType().isArray()) {
      throw JAXBException.invalidElementWrapper(property.getPropertyName());
    }
    XmlElementWrapper wrapper=(XmlElementWrapper)helper.getAnnotation(property.getElement(),XmlElementWrapper.class);
    org.eclipse.persistence.jaxb.xmlmodel.XmlElementWrapper xmlEltWrapper=new org.eclipse.persistence.jaxb.xmlmodel.XmlElementWrapper();
    xmlEltWrapper.setName(wrapper.name());
    xmlEltWrapper.setNamespace(wrapper.namespace());
    xmlEltWrapper.setNillable(wrapper.nillable());
    xmlEltWrapper.setRequired(wrapper.required());
    property.setXmlElementWrapper(xmlEltWrapper);
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlList.class)) {
    if (!isCollectionType(property) && !property.getType().isArray()) {
      throw JAXBException.invalidList(property.getPropertyName());
    }
    property.setIsXmlList(true);
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlValue.class)) {
    if (info.getXmlValueProperty() != null && info.getXmlValueProperty() != property) {
      throw JAXBException.xmlValueAlreadySet(property.getPropertyName(),info.getXmlValueProperty().getPropertyName(),cls.getRawName());
    }
    info.setXmlValueProperty(property);
  }
}

Fixed version (ground truth):
private void processPropertyAnnotations(TypeInfo info,JavaClass cls,JavaHasAnnotations javaHasAnnotations,Property property){
  if (helper.isAnnotationPresent(javaHasAnnotations,XmlMixed.class)) {
    info.setMixed(true);
    property.setMixedContent(true);
  }
  if (helper.isAnnotationPresent(javaHasAnnotations,XmlContainerProperty.class)) {
    XmlContainerProperty container=(XmlContainerProperty)helper.getAnnotation(javaHasAnnotations,XmlContainerProperty.class);
    property.setBidirectionalPropertyName(container.value());
    property.setBidirectionalPropertyGetMethodName(container.getMethodName());
    property.setBidirectionalPropertySetMethodName(container.setMethodName());
  }
 else   if (helper.isAnnotationPresent(javaHasAnnotations,XmlBidirectional.class)) {
    XmlBidirectional backpointer=(XmlBidirectional)helper.getAnnotation(javaHasAnnotations,XmlBidirectional.class);
    property.setBidirectionalPropertyName(backpointer.targetAttribute());
    TypeInfo targetInfo=this.getTypeInfo().get(property.getActualType().getName());
    if (targetInfo != null && targetInfo.getXmlAccessType() == XmlAccessType.PROPERTY) {
      String propName=property.getPropertyName();
      propName=Character.toUpperCase(propName.charAt(0)) + propName.substring(1);
      property.setBidirectionalPropertyGetMethodName("String_Node_Str" + propName);
      property.setBidirectionalPropertySetMethodName("String_Node_Str" + propName);
    }
  }
  processXmlJavaTypeAdapter(property,info);
  processXmlElement(property,info);
  JavaClass ptype=property.getActualType();
  if (helper.isAnnotationPresent(property.getElement(),XmlAttachmentRef.class) && areEquals(ptype,JAVAX_ACTIVATION_DATAHANDLER)) {
    property.setIsSwaAttachmentRef(true);
    property.setSchemaType(XMLConstants.SWA_REF_QNAME);
  }
 else   if (areEquals(ptype,JAVAX_ACTIVATION_DATAHANDLER) || areEquals(ptype,byte[].class) || areEquals(ptype,Byte[].class)|| areEquals(ptype,Image.class)|| areEquals(ptype,Source.class)|| areEquals(ptype,JAVAX_MAIL_INTERNET_MIMEMULTIPART)) {
    property.setIsMtomAttachment(true);
    property.setSchemaType(XMLConstants.BASE_64_BINARY_QNAME);
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlMimeType.class)) {
    property.setMimeType(((XmlMimeType)helper.getAnnotation(property.getElement(),XmlMimeType.class)).value());
  }
 else {
    property.setMimeType("String_Node_Str");
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlSchemaType.class)) {
    XmlSchemaType schemaType=(XmlSchemaType)helper.getAnnotation(property.getElement(),XmlSchemaType.class);
    QName schemaTypeQname=new QName(schemaType.namespace(),schemaType.name());
    property.setSchemaType(schemaTypeQname);
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlAttribute.class)) {
    property.setIsAttribute(true);
    property.setIsRequired(((XmlAttribute)helper.getAnnotation(property.getElement(),XmlAttribute.class)).required());
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlAnyAttribute.class)) {
    if (info.isAnyAttributeProperty()) {
      throw org.eclipse.persistence.exceptions.JAXBException.multipleAnyAttributeMapping(cls.getName());
    }
    if (!property.getType().getName().equals("String_Node_Str")) {
      throw org.eclipse.persistence.exceptions.JAXBException.anyAttributeOnNonMap(property.getPropertyName());
    }
    property.setIsAnyAttribute(true);
    info.setAnyAttributeProperty(true);
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlElementWrapper.class)) {
    if (!isCollectionType(property) && !property.getType().isArray()) {
      throw JAXBException.invalidElementWrapper(property.getPropertyName());
    }
    XmlElementWrapper wrapper=(XmlElementWrapper)helper.getAnnotation(property.getElement(),XmlElementWrapper.class);
    org.eclipse.persistence.jaxb.xmlmodel.XmlElementWrapper xmlEltWrapper=new org.eclipse.persistence.jaxb.xmlmodel.XmlElementWrapper();
    xmlEltWrapper.setName(wrapper.name());
    xmlEltWrapper.setNamespace(wrapper.namespace());
    xmlEltWrapper.setNillable(wrapper.nillable());
    xmlEltWrapper.setRequired(wrapper.required());
    property.setXmlElementWrapper(xmlEltWrapper);
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlList.class)) {
    if (!isCollectionType(property) && !property.getType().isArray()) {
      throw JAXBException.invalidList(property.getPropertyName());
    }
    property.setIsXmlList(true);
  }
  if (helper.isAnnotationPresent(property.getElement(),XmlValue.class)) {
    if (info.getXmlValueProperty() != null && info.getXmlValueProperty() != property) {
      throw JAXBException.xmlValueAlreadySet(property.getPropertyName(),info.getXmlValueProperty().getPropertyName(),cls.getRawName());
    }
    info.setXmlValueProperty(property);
  }
}