Program: 66530
Project: 66530
Buggy source:
/** 
 * Convenience method for processing a properties map and creating a map of package names to XmlBindings instances. It is assumed that the given map's key will be ECLIPSELINK_OXM_XML_KEY, and the value will be Map<String, Source>, where String = package, Source = metadata file
 * @param properties
 * @param classLoader
 * @return
 */
private static Map<String,XmlBindings> getXmlBindingsFromProperties(Map properties,ClassLoader classLoader){
  Map<String,XmlBindings> bindings=new HashMap<String,XmlBindings>();
  if (properties != null) {
    Map<String,Source> metadataFiles=null;
    try {
      metadataFiles=(Map<String,Source>)properties.get(ECLIPSELINK_OXM_XML_KEY);
    }
 catch (    ClassCastException x) {
      throw org.eclipse.persistence.exceptions.JAXBException.incorrectValueParameterTypeForOxmXmlKey();
    }
    if (metadataFiles != null) {
      Iterator<String> keyIt=metadataFiles.keySet().iterator();
      while (keyIt.hasNext()) {
        String key=null;
        try {
          key=keyIt.next();
        }
 catch (        ClassCastException cce) {
          throw org.eclipse.persistence.exceptions.JAXBException.incorrectKeyParameterType();
        }
        if (key == null) {
          throw org.eclipse.persistence.exceptions.JAXBException.nullMapKey();
        }
        Source metadataSource=null;
        try {
          metadataSource=metadataFiles.get(key);
        }
 catch (        ClassCastException cce) {
          throw org.eclipse.persistence.exceptions.JAXBException.incorrectValueParameterType();
        }
        if (metadataSource == null) {
          throw org.eclipse.persistence.exceptions.JAXBException.nullMetadataSource(key);
        }
        XmlBindings binding=getXmlBindings(metadataSource,classLoader);
        if (binding != null) {
          bindings.put(key,binding);
        }
      }
    }
  }
  return bindings;
}

Fixed version (ground truth):
/** 
 * Convenience method for processing a properties map and creating a map of package names to XmlBindings instances. It is assumed that the given map's key will be ECLIPSELINK_OXM_XML_KEY, and the value will be Map<String, Source>, where String = package, Source = metadata file
 */
private static Map<String,XmlBindings> getXmlBindingsFromProperties(Map properties,ClassLoader classLoader){
  Map<String,XmlBindings> bindings=new HashMap<String,XmlBindings>();
  if (properties != null) {
    Map<String,Source> metadataFiles=null;
    try {
      metadataFiles=(Map<String,Source>)properties.get(ECLIPSELINK_OXM_XML_KEY);
    }
 catch (    ClassCastException x) {
      throw org.eclipse.persistence.exceptions.JAXBException.incorrectValueParameterTypeForOxmXmlKey();
    }
    if (metadataFiles != null) {
      Iterator<String> keyIt=metadataFiles.keySet().iterator();
      while (keyIt.hasNext()) {
        String key=null;
        try {
          key=keyIt.next();
        }
 catch (        ClassCastException cce) {
          throw org.eclipse.persistence.exceptions.JAXBException.incorrectKeyParameterType();
        }
        if (key == null) {
          throw org.eclipse.persistence.exceptions.JAXBException.nullMapKey();
        }
        Source metadataSource=null;
        try {
          metadataSource=metadataFiles.get(key);
        }
 catch (        ClassCastException cce) {
          throw org.eclipse.persistence.exceptions.JAXBException.incorrectValueParameterType();
        }
        if (metadataSource == null) {
          throw org.eclipse.persistence.exceptions.JAXBException.nullMetadataSource(key);
        }
        XmlBindings binding=getXmlBindings(metadataSource,classLoader);
        if (binding != null) {
          bindings.put(key,binding);
        }
      }
    }
  }
  return bindings;
}