Program: 109518
Project: 109518
Buggy source:
@Override public List<WindupRuleProvider> getProviders(GraphContext context){
  List<WindupRuleProvider> providers=new ArrayList<>();
  DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance();
  dbFactory.setNamespaceAware(true);
  DocumentBuilder dBuilder=null;
  try {
    dBuilder=dbFactory.newDocumentBuilder();
  }
 catch (  Exception e) {
    throw new WindupException("String_Node_Str" + e.getMessage(),e);
  }
  for (  Map.Entry<Addon,List<URL>> addonFiles : getAddonWindupXmlFiles().entrySet()) {
    Addon addon=addonFiles.getKey();
    List<URL> urls=addonFiles.getValue();
    for (    URL resource : urls) {
      try {
        Document doc=dBuilder.parse(resource.toURI().toString());
        ParserContext parser=new ParserContext(furnace);
        parser.setAddonContainingInputXML(addon);
        parser.processElement(doc.getDocumentElement());
        List<WindupRuleProvider> parsedProviders=parser.getRuleProviders();
        setOrigin(parsedProviders,resource);
        providers.addAll(parsedProviders);
      }
 catch (      Exception e) {
        throw new WindupException("String_Node_Str" + resource.toString() + "String_Node_Str"+ e.getMessage(),e);
      }
    }
  }
  WindupConfigurationModel cfg=WindupConfigurationService.getConfigurationModel(context);
  for (  FileModel userRulesFileModel : cfg.getUserRulesPaths()) {
    for (    URL resource : getWindupUserDirectoryXmlFiles(userRulesFileModel)) {
      try {
        Document doc=dBuilder.parse(resource.toURI().toString());
        ParserContext parser=new ParserContext(furnace);
        String userRulesPath=userRulesFileModel.getFilePath();
        parser.setXmlInputPath(Paths.get(userRulesPath));
        parser.processElement(doc.getDocumentElement());
        List<WindupRuleProvider> parsedProviders=parser.getRuleProviders();
        setOrigin(parsedProviders,resource);
        providers.addAll(parsedProviders);
      }
 catch (      Exception e) {
        throw new WindupException("String_Node_Str" + resource.toString() + "String_Node_Str"+ e.getMessage(),e);
      }
    }
  }
  return providers;
}

Fixed version (ground truth):
@Override public List<WindupRuleProvider> getProviders(GraphContext context){
  List<WindupRuleProvider> providers=new ArrayList<>();
  DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance();
  dbFactory.setNamespaceAware(true);
  DocumentBuilder dBuilder=null;
  try {
    dBuilder=dbFactory.newDocumentBuilder();
  }
 catch (  Exception e) {
    throw new WindupException("String_Node_Str" + e.getMessage(),e);
  }
  for (  Map.Entry<Addon,List<URL>> addonFiles : getAddonWindupXmlFiles().entrySet()) {
    Addon addon=addonFiles.getKey();
    List<URL> urls=addonFiles.getValue();
    for (    URL resource : urls) {
      try {
        Document doc=dBuilder.parse(resource.toURI().toString());
        ParserContext parser=new ParserContext(furnace);
        parser.setAddonContainingInputXML(addon);
        parser.processElement(doc.getDocumentElement());
        List<WindupRuleProvider> parsedProviders=parser.getRuleProviders();
        setOrigin(parsedProviders,resource);
        providers.addAll(parsedProviders);
      }
 catch (      Exception e) {
        throw new WindupException("String_Node_Str" + resource.toString() + "String_Node_Str"+ e.getMessage(),e);
      }
    }
  }
  WindupConfigurationModel cfg=WindupConfigurationService.getConfigurationModel(context);
  for (  FileModel userRulesFileModel : cfg.getUserRulesPaths()) {
    for (    URL resource : getWindupUserDirectoryXmlFiles(userRulesFileModel)) {
      try {
        Document doc=dBuilder.parse(resource.toURI().toString());
        ParserContext parser=new ParserContext(furnace);
        String userRulesPath=userRulesFileModel.getFilePath();
        parser.setXmlInputPath(Paths.get(resource.toURI()));
        parser.setXmlInputRootPath(Paths.get(userRulesPath));
        parser.processElement(doc.getDocumentElement());
        List<WindupRuleProvider> parsedProviders=parser.getRuleProviders();
        setOrigin(parsedProviders,resource);
        providers.addAll(parsedProviders);
      }
 catch (      Exception e) {
        throw new WindupException("String_Node_Str" + resource.toString() + "String_Node_Str"+ e.getMessage(),e);
      }
    }
  }
  return providers;
}