Program: 160545
Project: 160545
Buggy source:
public void loadPluginsFromEclipseProject(File projectRoot) throws PluginException {
  if (loadedLocations.contains(projectRoot.getAbsolutePath())) {
    return;
  }
  if (!projectRoot.isDirectory()) {
    throw new PluginException("String_Node_Str" + projectRoot.getAbsolutePath());
  }
  File pluginFolder=new File(projectRoot,"String_Node_Str");
  if (!pluginFolder.isDirectory()) {
    throw new PluginException("String_Node_Str" + projectRoot.getAbsolutePath());
  }
  File pluginFile=new File(pluginFolder,"String_Node_Str");
  if (!pluginFile.isFile()) {
    throw new PluginException("String_Node_Str" + pluginFolder.getAbsolutePath());
  }
  try {
    PluginDescriptor pluginDescriptor=getPluginDescriptor(new FileInputStream(pluginFile));
    DelegatingClassLoader delegatingClassLoader=new DelegatingClassLoader(getClass().getClassLoader());
    File libFolder=new File(projectRoot,"String_Node_Str");
    if (libFolder.isDirectory()) {
      for (      File libFile : libFolder.listFiles()) {
        if (libFile.getName().toLowerCase().endsWith("String_Node_Str")) {
          FileJarClassLoader jarClassLoader=new FileJarClassLoader(delegatingClassLoader,libFile,new File(tempDir,projectRoot.getName()));
          delegatingClassLoader.add(jarClassLoader);
        }
      }
    }
    EclipsePluginClassloader pluginClassloader=new EclipsePluginClassloader(delegatingClassLoader,projectRoot);
    loadedLocations.add(projectRoot.getAbsolutePath());
    loadPlugins(pluginClassloader,projectRoot.getAbsolutePath(),new File(projectRoot,"String_Node_Str").getAbsolutePath(),pluginDescriptor,PluginSourceType.ECLIPSE_PROJECT);
  }
 catch (  JAXBException e) {
    throw new PluginException(e);
  }
catch (  FileNotFoundException e) {
    throw new PluginException(e);
  }
catch (  IOException e) {
    throw new PluginException(e);
  }
}

Fixed version (ground truth):
public void loadPluginsFromEclipseProject(File projectRoot) throws PluginException {
  if (loadedLocations.contains(projectRoot.getAbsolutePath())) {
    return;
  }
  if (!projectRoot.isDirectory()) {
    throw new PluginException("String_Node_Str" + projectRoot.getAbsolutePath());
  }
  File pluginFolder=new File(projectRoot,"String_Node_Str");
  if (!pluginFolder.isDirectory()) {
    throw new PluginException("String_Node_Str" + projectRoot.getAbsolutePath());
  }
  File pluginFile=new File(pluginFolder,"String_Node_Str");
  if (!pluginFile.isFile()) {
    throw new PluginException("String_Node_Str" + pluginFolder.getAbsolutePath());
  }
  try {
    PluginDescriptor pluginDescriptor=getPluginDescriptor(new FileInputStream(pluginFile));
    DelegatingClassLoader delegatingClassLoader=new DelegatingClassLoader(getClass().getClassLoader());
    File libFolder=new File(projectRoot,"String_Node_Str");
    if (libFolder.isDirectory()) {
      for (      File libFile : libFolder.listFiles()) {
        if (libFile.getName().toLowerCase().endsWith("String_Node_Str")) {
          FileJarClassLoader jarClassLoader=new FileJarClassLoader(delegatingClassLoader,libFile,tempDir);
          delegatingClassLoader.add(jarClassLoader);
        }
      }
    }
    EclipsePluginClassloader pluginClassloader=new EclipsePluginClassloader(delegatingClassLoader,projectRoot);
    loadedLocations.add(projectRoot.getAbsolutePath());
    loadPlugins(pluginClassloader,projectRoot.getAbsolutePath(),new File(projectRoot,"String_Node_Str").getAbsolutePath(),pluginDescriptor,PluginSourceType.ECLIPSE_PROJECT);
  }
 catch (  JAXBException e) {
    throw new PluginException(e);
  }
catch (  FileNotFoundException e) {
    throw new PluginException(e);
  }
catch (  IOException e) {
    throw new PluginException(e);
  }
}