Program: 168190
Project: 168190
Buggy source:
public String doPreprocessing(List<String> inputFiles,String subFolder) throws IOException {
  File[] files;
  files=new File[inputFiles.size()];
  int i=0;
  for (  String filepath : inputFiles) {
    if ((new File(filepath).isDirectory()))     continue;
    if (new File(filepath).getAbsolutePath().contains("String_Node_Str"))     continue;
    files[i]=new File(filepath);
    i=i + 1;
  }
  preprocessingParentFolder=this.outputPath + File.separator + callingPlugin+ "String_Node_Str"+ currTime;
  if (!(new File(preprocessingParentFolder).exists())) {
    new File(preprocessingParentFolder).mkdir();
    ConsoleView.printlInConsoleln("String_Node_Str" + preprocessingParentFolder + "String_Node_Str");
  }
  if (subFolder.trim().length() != 0) {
    preprocessingParentFolder=preprocessingParentFolder + File.separator + subFolder;
    if (new File(preprocessingParentFolder).mkdir()) {
      ConsoleView.printlInConsoleln("String_Node_Str" + preprocessingParentFolder + "String_Node_Str");
    }
  }
  if (stopwordsFile.trim().length() != 0) {
    doStopWords=true;
    String currentLine;
    BufferedReader br=new BufferedReader(new FileReader(new File(stopwordsFile)));
    while ((currentLine=br.readLine()) != null) {
      stopWordsSet.add(currentLine.trim().toLowerCase());
    }
    br.close();
  }
  if (doStemming) {
    if (stemLang.equals("String_Node_Str")) {
      doLangDetect=true;
      Bundle bundle=Platform.getBundle("String_Node_Str");
      URL url=FileLocator.find(bundle,new Path("String_Node_Str"),null);
      URL fileURL=FileLocator.toFileURL(url);
      ConsoleView.printlInConsoleln(fileURL.getPath());
      try {
        DetectorFactory.loadProfile(fileURL.getPath());
      }
 catch (      com.cybozu.labs.langdetect.LangDetectException ex) {
        ConsoleView.printlInConsoleln("String_Node_Str" + ex.getCode());
      }
    }
 else {
      doLangDetect=false;
      stemmer=stemSelect(stemLang);
    }
  }
  for (  File f : files) {
    if (f == null)     break;
    if (f.getAbsolutePath().contains("String_Node_Str"))     continue;
    if ("String_Node_Str".equals(f.getName()))     continue;
    String inputFile=f.getAbsolutePath();
    ConsoleView.printlInConsoleln("String_Node_Str" + inputFile);
    if (doLangDetect) {
      try {
        stemmer=findLangStemmer(f);
      }
 catch (      LangDetectException e) {
        e.printStackTrace();
      }
    }
    File iFile=new File(inputFile);
    if (!iFile.exists() || iFile.isDirectory()) {
      ConsoleView.printlInConsoleln("String_Node_Str" + iFile.getAbsolutePath());
      continue;
    }
    File oFile=new File(preprocessingParentFolder + System.getProperty("String_Node_Str") + f.getName());
    BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(iFile),"String_Node_Str"));
    BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(oFile),"String_Node_Str"));
    String linear;
    while ((linear=br.readLine()) != null) {
      if (linear != "String_Node_Str") {
        if (doLowercase)         linear=linear.toLowerCase();
        for (        char c : delimiters.toCharArray())         linear=linear.replace(c,' ');
        if (doStopWords)         linear=removeStopWords(linear);
        if (doStemming && stemmer != null)         linear=stem(linear);
        bw.write(linear + "String_Node_Str");
      }
    }
    ConsoleView.printlInConsoleln(preprocessingParentFolder + System.getProperty("String_Node_Str") + f.getName());
    br.close();
    bw.close();
  }
  ConsoleView.printlInConsoleln("String_Node_Str" + preprocessingParentFolder);
  return preprocessingParentFolder;
}

Fixed version (ground truth):
public String doPreprocessing(List<String> inputFiles,String subFolder) throws IOException {
  File[] files;
  files=new File[inputFiles.size()];
  int i=0;
  boolean outputPathNotSet=false;
  for (  String filepath : inputFiles) {
    if ((new File(filepath).isDirectory()))     continue;
    if (new File(filepath).getAbsolutePath().contains("String_Node_Str"))     continue;
    files[i]=new File(filepath);
    i=i + 1;
  }
  if (this.outputPath == null || this.outputPath.trim().length() == 0) {
    this.outputPath=System.getProperty("String_Node_Str");
    outputPathNotSet=true;
  }
  preprocessingParentFolder=this.outputPath + File.separator + callingPlugin+ "String_Node_Str"+ currTime;
  if (outputPathNotSet)   this.outputPath="String_Node_Str";
  if (!(new File(preprocessingParentFolder).exists())) {
    new File(preprocessingParentFolder).mkdir();
    ConsoleView.printlInConsoleln("String_Node_Str" + preprocessingParentFolder + "String_Node_Str");
  }
  if (subFolder.trim().length() != 0) {
    preprocessingParentFolder=preprocessingParentFolder + File.separator + subFolder;
    if (new File(preprocessingParentFolder).mkdir()) {
      ConsoleView.printlInConsoleln("String_Node_Str" + preprocessingParentFolder + "String_Node_Str");
    }
  }
  if (stopwordsFile.trim().length() != 0) {
    doStopWords=true;
    String currentLine;
    BufferedReader br=new BufferedReader(new FileReader(new File(stopwordsFile)));
    while ((currentLine=br.readLine()) != null) {
      stopWordsSet.add(currentLine.trim().toLowerCase());
    }
    br.close();
  }
  if (doStemming) {
    if (stemLang.equals("String_Node_Str")) {
      doLangDetect=true;
      Bundle bundle=Platform.getBundle("String_Node_Str");
      URL url=FileLocator.find(bundle,new Path("String_Node_Str"),null);
      URL fileURL=FileLocator.toFileURL(url);
      try {
        DetectorFactory.loadProfile(fileURL.getPath());
      }
 catch (      com.cybozu.labs.langdetect.LangDetectException ex) {
        ConsoleView.printlInConsoleln("String_Node_Str" + ex.getCode());
      }
    }
 else {
      doLangDetect=false;
      stemmer=stemSelect(stemLang);
    }
  }
  int currentCount=0;
  int adder=files.length / 10;
  int breakPoint=adder;
  int statusPoint=0;
  ConsoleView.printlInConsoleln("String_Node_Str" + statusPoint * 10 + "String_Node_Str");
  for (  File f : files) {
    currentCount++;
    if (currentCount >= breakPoint) {
      statusPoint++;
      ConsoleView.printlInConsoleln("String_Node_Str" + statusPoint * 10 + "String_Node_Str");
      breakPoint=breakPoint + adder;
    }
    if (f == null)     break;
    if (f.getAbsolutePath().contains("String_Node_Str"))     continue;
    if ("String_Node_Str".equals(f.getName()))     continue;
    String inputFile=f.getAbsolutePath();
    if (doLangDetect) {
      try {
        stemmer=findLangStemmer(f);
      }
 catch (      LangDetectException e) {
        e.printStackTrace();
      }
    }
    File iFile=new File(inputFile);
    if (!iFile.exists() || iFile.isDirectory()) {
      ConsoleView.printlInConsoleln("String_Node_Str" + iFile.getAbsolutePath());
      continue;
    }
    File oFile=new File(preprocessingParentFolder + System.getProperty("String_Node_Str") + f.getName());
    BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(iFile),"String_Node_Str"));
    BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(oFile),"String_Node_Str"));
    String linear;
    while ((linear=br.readLine()) != null) {
      if (linear != "String_Node_Str") {
        if (doLowercase)         linear=linear.toLowerCase();
        for (        char c : delimiters.toCharArray())         linear=linear.replace(c,' ');
        if (doStopWords)         linear=removeStopWords(linear);
        if (doStemming && stemmer != null)         linear=stem(linear);
        bw.write(linear + "String_Node_Str");
      }
    }
    br.close();
    bw.close();
  }
  ConsoleView.printlInConsoleln("String_Node_Str" + preprocessingParentFolder);
  return preprocessingParentFolder;
}