Program: 75018
Project: 75018
Buggy source:
/** 
 * Parse the command-line arguments starting from the given position. If one or more argument corresponds to an option, proper actions are performed to record that option. The position is adjusted to the next file name or option and returned.
 * @param args The command-line arguments.
 * @param position The starting position.
 * @return The new position.
 */
public static int parseArguments(String[] args,int position){
  String arg=args[position];
  if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    String classPaths=args[position];
    _extraClassPaths=classPaths.split(File.pathSeparator);
    position++;
  }
 else   if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    _prefix=args[position];
    for (int i=0; i < RULES.length; i++)     if (RULES[i] instanceof PackageRule) {
      ((PackageRule)RULES[i]).setPrefix(_prefix);
      break;
    }
    position++;
    _defaultToStandardOutput=false;
  }
 else   if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    _rootPath=args[position];
    if (_rootPath.length() == 0)     _rootPath="String_Node_Str";
    position++;
  }
 else   if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    _overwrite=true;
  }
 else   if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    _overwrite=false;
  }
 else   if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    _configName=args[position];
    position++;
  }
  return position;
}

Fixed version (ground truth):
/** 
 * Parse the command-line arguments starting from the given position. If one or more argument corresponds to an option, proper actions are performed to record that option. The position is adjusted to the next file name or option and returned.
 * @param args The command-line arguments.
 * @param position The starting position.
 * @return The new position.
 */
public static int parseArguments(String[] args,int position){
  String arg=args[position];
  if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    String classPaths=args[position];
    _extraClassPaths=Strings.combineArrays(_extraClassPaths,Strings.decodeFileNames(classPaths));
    position++;
  }
 else   if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    _prefix=args[position];
    for (int i=0; i < RULES.length; i++)     if (RULES[i] instanceof PackageRule) {
      ((PackageRule)RULES[i]).setPrefix(_prefix);
      break;
    }
    position++;
    _defaultToStandardOutput=false;
  }
 else   if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    _rootPath=args[position];
    if (_rootPath.length() == 0)     _rootPath="String_Node_Str";
    position++;
  }
 else   if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    _overwrite=true;
  }
 else   if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    _overwrite=false;
  }
 else   if (arg.equals("String_Node_Str") || arg.equals("String_Node_Str")) {
    position++;
    _configName=args[position];
    position++;
  }
  return position;
}