Program: 128436
Project: 128436
Buggy source:
private static void init(){
  IExtensionRegistry registry=Platform.getExtensionRegistry();
  IConfigurationElement[] configurationElements=registry.getConfigurationElementsFor("String_Node_Str");
  List<String> repositoryComponentNames=new ArrayList<String>();
  List<String> dndFilterIds=new ArrayList<String>();
  List<String> componentIds=new ArrayList<String>();
  for (int i=0; i < configurationElements.length; i++) {
    IConfigurationElement element=configurationElements[i];
    if (element.getName().equals("String_Node_Str")) {
      List<String> filterAttrs=getFilterAttrs(element,"String_Node_Str","String_Node_Str");
      repositoryComponentNames.addAll(filterAttrs);
      filterAttrs=getFilterAttrs(element,"String_Node_Str","String_Node_Str");
      dndFilterIds.addAll(filterAttrs);
      filterAttrs=getFilterAttrs(element,"String_Node_Str","String_Node_Str");
      componentIds.addAll(filterAttrs);
    }
  }
  for (int i=0; i < configurationElements.length; i++) {
    IConfigurationElement element=configurationElements[i];
    if (element.getName().equals("String_Node_Str")) {
      String name=element.getAttribute("String_Node_Str");
      if (repositoryComponentNames.contains(name)) {
        continue;
      }
      String type=element.getAttribute("String_Node_Str");
      boolean withSchema=Boolean.parseBoolean(element.getAttribute("String_Node_Str"));
      String input=element.getAttribute("String_Node_Str");
      String output=element.getAttribute("String_Node_Str");
      String def=element.getAttribute("String_Node_Str");
      IRepositoryComponentAgent agent=null;
      if (element.getAttribute("String_Node_Str") != null) {
        try {
          Object object=element.createExecutableExtension("String_Node_Str");
          if (object != null && (object instanceof IRepositoryComponentAgent)) {
            agent=(IRepositoryComponentAgent)object;
          }
        }
 catch (        Exception e) {
        }
      }
      RepositoryComponentSetting setting=new RepositoryComponentSetting();
      setting.setName(name);
      setting.setRepositoryType(type);
      setting.setWithSchema(withSchema);
      setting.setInputComponent(input);
      setting.setOutputComponent(output);
      setting.setDefaultComponent(def);
      setting.setClasses(retrieveClasses(element));
      setting.setDbTypes(retrieveDBTypes(element));
      setting.setAgent(agent);
      repComponentSettings.add(setting);
    }
 else     if (element.getName().equals("String_Node_Str")) {
      String id=element.getAttribute("String_Node_Str");
      if (dndFilterIds.contains(id)) {
        continue;
      }
      String name=element.getAttribute("String_Node_Str");
      int level=parserLevel(element.getAttribute("String_Node_Str"));
      IRepositoryComponentDndFilter filter=null;
      try {
        Object object=element.createExecutableExtension("String_Node_Str");
        if (object == null || !(object instanceof IRepositoryComponentDndFilter)) {
          throw new IllegalArgumentException("String_Node_Str");
        }
        filter=(IRepositoryComponentDndFilter)object;
      }
 catch (      Exception e) {
        ExceptionHandler.process(e);
      }
      RepositoryComponentDndFilterSetting dndSetting=new RepositoryComponentDndFilterSetting();
      dndSetting.setId(id);
      dndSetting.setName(name);
      dndSetting.setLevel(level);
      dndSetting.setFilter(filter);
      repComponentDndFilterSettings.add(dndSetting);
    }
 else     if (element.getName().equals("String_Node_Str")) {
      retrieveSortedComponent(componentIds,sortedComponentSetting,element,"String_Node_Str");
      retrieveSortedComponent(componentIds,specialSortedComponentSetting,element,"String_Node_Str");
    }
  }
}

Fixed version (ground truth):
private static void init(){
  IExtensionRegistry registry=Platform.getExtensionRegistry();
  IConfigurationElement[] configurationElements=registry.getConfigurationElementsFor("String_Node_Str");
  List<String> repositoryComponentNames=new ArrayList<String>();
  List<String> dndFilterIds=new ArrayList<String>();
  List<String> componentIds=new ArrayList<String>();
  for (  IConfigurationElement element : configurationElements) {
    if (element.getName().equals("String_Node_Str")) {
      List<String> filterAttrs=getFilterAttrs(element,"String_Node_Str","String_Node_Str");
      repositoryComponentNames.addAll(filterAttrs);
      filterAttrs=getFilterAttrs(element,"String_Node_Str","String_Node_Str");
      dndFilterIds.addAll(filterAttrs);
      filterAttrs=getFilterAttrs(element,"String_Node_Str","String_Node_Str");
      componentIds.addAll(filterAttrs);
    }
  }
  for (  IConfigurationElement element : configurationElements) {
    if (element.getName().equals("String_Node_Str")) {
      String name=element.getAttribute("String_Node_Str");
      if (repositoryComponentNames.contains(name)) {
        continue;
      }
      String type=element.getAttribute("String_Node_Str");
      boolean withSchema=Boolean.parseBoolean(element.getAttribute("String_Node_Str"));
      String input=element.getAttribute("String_Node_Str");
      String output=element.getAttribute("String_Node_Str");
      String def=element.getAttribute("String_Node_Str");
      IRepositoryComponentAgent agent=null;
      if (element.getAttribute("String_Node_Str") != null) {
        try {
          Object object=element.createExecutableExtension("String_Node_Str");
          if (object != null && (object instanceof IRepositoryComponentAgent)) {
            agent=(IRepositoryComponentAgent)object;
          }
        }
 catch (        Exception e) {
        }
      }
      RepositoryComponentSetting setting=new RepositoryComponentSetting();
      setting.setName(name);
      setting.setRepositoryType(type);
      setting.setWithSchema(withSchema);
      setting.setInputComponent(input);
      setting.setOutputComponent(output);
      setting.setDefaultComponent(def);
      setting.setClasses(retrieveClasses(element));
      setting.setDbTypes(retrieveDBTypes(element));
      setting.setAgent(agent);
      repComponentSettings.add(setting);
    }
 else     if (element.getName().equals("String_Node_Str")) {
      String id=element.getAttribute("String_Node_Str");
      if (dndFilterIds.contains(id)) {
        continue;
      }
      String name=element.getAttribute("String_Node_Str");
      int level=parserLevel(element.getAttribute("String_Node_Str"));
      IRepositoryComponentDndFilter filter=null;
      try {
        Object object=element.createExecutableExtension("String_Node_Str");
        if (object == null || !(object instanceof IRepositoryComponentDndFilter)) {
          throw new IllegalArgumentException("String_Node_Str");
        }
        filter=(IRepositoryComponentDndFilter)object;
      }
 catch (      Exception e) {
        ExceptionHandler.process(e);
      }
      RepositoryComponentDndFilterSetting dndSetting=new RepositoryComponentDndFilterSetting();
      dndSetting.setId(id);
      dndSetting.setName(name);
      dndSetting.setLevel(level);
      dndSetting.setFilter(filter);
      repComponentDndFilterSettings.add(dndSetting);
    }
 else     if (element.getName().equals("String_Node_Str")) {
      retrieveSortedComponent(componentIds,sortedComponentSetting,element,"String_Node_Str");
      retrieveSortedComponent(componentIds,specialSortedComponentSetting,element,"String_Node_Str");
    }
  }
}