Program: 67620
Project: 67620
Buggy source:
public XMLCompositeCollectionMapping generateCompositeCollectionMapping(Property property,XMLDescriptor descriptor,NamespaceInfo namespaceInfo,JavaClass referenceClass){
  XMLCompositeCollectionMapping mapping=new XMLCompositeCollectionMapping();
  mapping.setAttributeName(property.getPropertyName());
  if (property.isMethodProperty()) {
    mapping.setGetMethodName(property.getGetMethodName());
    mapping.setSetMethodName(property.getSetMethodName());
  }
  mapping.setReferenceClassName(referenceClass.getQualifiedName());
  JavaClass collectionType=property.getType();
  if (areEquals(collectionType,Collection.class) || areEquals(collectionType,List.class)) {
    collectionType=jotArrayList;
  }
 else   if (areEquals(collectionType,Set.class)) {
    collectionType=jotHashSet;
  }
  mapping.useCollectionClassName(collectionType.getRawName());
  XMLField xmlField=getXPathForField(property,namespaceInfo,false);
  mapping.setXPath(xmlField.getXPath());
  if (helper.isAnnotationPresent(property.getElement(),XmlContainerProperty.class)) {
    XmlContainerProperty containerProp=(XmlContainerProperty)helper.getAnnotation(property.getElement(),XmlContainerProperty.class);
    String name=containerProp.value();
    mapping.setContainerAttributeName(name);
    if (!containerProp.getMethodName().equals("String_Node_Str") && !containerProp.setMethodName().equals("String_Node_Str")) {
      mapping.setContainerGetMethodName(containerProp.getMethodName());
      mapping.setContainerSetMethodName(containerProp.setMethodName());
    }
  }
  descriptor.addMapping(mapping);
  return mapping;
}

Fixed version (ground truth):
public XMLCompositeCollectionMapping generateCompositeCollectionMapping(Property property,XMLDescriptor descriptor,NamespaceInfo namespaceInfo,JavaClass referenceClass){
  XMLCompositeCollectionMapping mapping=new XMLCompositeCollectionMapping();
  mapping.setAttributeName(property.getPropertyName());
  if (property.isMethodProperty()) {
    if (property.getSetMethodName() != null) {
      mapping.setSetMethodName(property.getSetMethodName());
      mapping.setGetMethodName(property.getSetMethodName());
    }
 else {
      mapping.setGetMethodName(property.getGetMethodName());
    }
  }
  mapping.setReferenceClassName(referenceClass.getQualifiedName());
  JavaClass collectionType=property.getType();
  if (areEquals(collectionType,Collection.class) || areEquals(collectionType,List.class)) {
    collectionType=jotArrayList;
  }
 else   if (areEquals(collectionType,Set.class)) {
    collectionType=jotHashSet;
  }
  mapping.useCollectionClassName(collectionType.getRawName());
  XMLField xmlField=getXPathForField(property,namespaceInfo,false);
  mapping.setXPath(xmlField.getXPath());
  if (helper.isAnnotationPresent(property.getElement(),XmlContainerProperty.class)) {
    XmlContainerProperty containerProp=(XmlContainerProperty)helper.getAnnotation(property.getElement(),XmlContainerProperty.class);
    String name=containerProp.value();
    mapping.setContainerAttributeName(name);
    if (!containerProp.getMethodName().equals("String_Node_Str") && !containerProp.setMethodName().equals("String_Node_Str")) {
      mapping.setContainerGetMethodName(containerProp.getMethodName());
      mapping.setContainerSetMethodName(containerProp.setMethodName());
    }
  }
  descriptor.addMapping(mapping);
  return mapping;
}