Program: 141176
Project: 141176
Buggy source:
@Override public void action(final List<String> arguments){
  final Options options=makeOptions();
  final CommandLineParser parser=new GnuParser();
  String filename="String_Node_Str";
  int argsOptions=0;
  boolean pairEndMode=false;
  String sampleSheetPath=null;
  String samplesProjectName=null;
  boolean symnlinks=false;
  try {
    final CommandLine line=parser.parse(options,arguments.toArray(new String[0]),true);
    if (line.hasOption("String_Node_Str")) {
      pairEndMode=true;
      argsOptions+=1;
    }
    if (line.hasOption("String_Node_Str")) {
      help(options);
    }
    if (line.hasOption("String_Node_Str")) {
      filename=line.getOptionValue("String_Node_Str").trim();
      argsOptions+=2;
    }
    if (line.hasOption("String_Node_Str")) {
      sampleSheetPath=line.getOptionValue("String_Node_Str").trim();
      argsOptions+=2;
    }
    if (line.hasOption("String_Node_Str")) {
      samplesProjectName=line.getOptionValue("String_Node_Str").trim();
      argsOptions+=2;
    }
    if (line.hasOption("String_Node_Str")) {
      symnlinks=true;
      argsOptions++;
    }
  }
 catch (  ParseException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
  Main.getInstance().flushLog();
  Design design=null;
  final File designFile=new File(filename);
  try {
    final List<String> newArgs=arguments.subList(argsOptions,arguments.size() - 1);
    final DesignBuilder db=new DesignBuilder();
    if (sampleSheetPath != null)     db.addCasavaDesignProject(new File(sampleSheetPath),samplesProjectName);
    db.addFiles(newArgs);
    design=db.getDesign(pairEndMode);
    if (symnlinks)     DesignUtils.replaceLocalPathBySymlinks(design,designFile.getParentFile());
  }
 catch (  EoulsanException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
  if (design.getSampleCount() == 0) {
    Common.showErrorMessageAndExit("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Globals.APP_NAME_LOWER_CASE + "String_Node_Str");
  }
  try {
    if (designFile.exists())     throw new EoulsanIOException("String_Node_Str" + designFile + "String_Node_Str");
    DesignWriter dw=new SimpleDesignWriter(designFile);
    dw.write(design);
  }
 catch (  EoulsanIOException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
}

Fixed version (ground truth):
@Override public void action(final List<String> arguments){
  final Options options=makeOptions();
  final CommandLineParser parser=new GnuParser();
  String filename="String_Node_Str";
  int argsOptions=0;
  boolean pairEndMode=false;
  String sampleSheetPath=null;
  String samplesProjectName=null;
  boolean symnlinks=false;
  try {
    final CommandLine line=parser.parse(options,arguments.toArray(new String[0]),true);
    if (line.hasOption("String_Node_Str")) {
      pairEndMode=true;
      argsOptions+=1;
    }
    if (line.hasOption("String_Node_Str")) {
      help(options);
    }
    if (line.hasOption("String_Node_Str")) {
      filename=line.getOptionValue("String_Node_Str").trim();
      argsOptions+=2;
    }
    if (line.hasOption("String_Node_Str")) {
      sampleSheetPath=line.getOptionValue("String_Node_Str").trim();
      argsOptions+=2;
    }
    if (line.hasOption("String_Node_Str")) {
      samplesProjectName=line.getOptionValue("String_Node_Str").trim();
      argsOptions+=2;
    }
    if (line.hasOption("String_Node_Str")) {
      symnlinks=true;
      argsOptions++;
    }
  }
 catch (  ParseException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
  Main.getInstance().flushLog();
  Design design=null;
  final File designFile=new File(filename);
  try {
    final List<String> newArgs=arguments.subList(argsOptions,arguments.size());
    final DesignBuilder db=new DesignBuilder();
    if (sampleSheetPath != null)     db.addCasavaDesignProject(new File(sampleSheetPath),samplesProjectName);
    db.addFiles(newArgs);
    design=db.getDesign(pairEndMode);
    if (symnlinks)     DesignUtils.replaceLocalPathBySymlinks(design,designFile.getParentFile());
  }
 catch (  EoulsanException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
  if (design.getSampleCount() == 0) {
    Common.showErrorMessageAndExit("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + Globals.APP_NAME_LOWER_CASE + "String_Node_Str");
  }
  try {
    if (designFile.exists())     throw new EoulsanIOException("String_Node_Str" + designFile + "String_Node_Str");
    DesignWriter dw=new SimpleDesignWriter(designFile);
    dw.write(design);
  }
 catch (  EoulsanIOException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
}