Program: 21290
Project: 21290
Buggy source:
public void processParameters(String[] input) throws RemoteException {
  boolean addLinksSwitch=false;
  boolean addContainersSwitch=false;
  boolean addPasswordsSwitch=false;
  boolean extractSwitch=false;
  Vector<String> linksToAdd=new Vector<String>();
  Vector<String> containersToAdd=new Vector<String>();
  Vector<String> paths=new Vector<String>();
  long extractTime=0;
  boolean doExtract=false;
  boolean hideGrabber=false;
  boolean startDownload=false;
  JDController controller=JDUtilities.getController();
  for (  String currentArg : input) {
    if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      Server.showCmdHelp();
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=true;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addContainersSwitch=true;
      addLinksSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addContainersSwitch=false;
      addLinksSwitch=false;
      addPasswordsSwitch=true;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      doExtract=true;
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=true;
      logger.info(currentArg + "String_Node_Str");
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
      startDownload=true;
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
      if (controller.getDownloadStatus() == JDController.DOWNLOAD_RUNNING) {
        controller.fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_STARTSTOP_DOWNLOAD,this));
      }
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      JACController.showDialog(false);
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      JACController.showDialog(true);
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      JDUtilities.getGUI().setGUIStatus(UIInterface.WINDOW_STATUS_MINIMIZED);
      logger.info(currentArg + "String_Node_Str");
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
      JDUtilities.getGUI().setGUIStatus(UIInterface.WINDOW_STATUS_FOREGROUND);
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
      hideGrabber=true;
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
      Reconnecter.waitForNewIP(1);
    }
 else     if (addLinksSwitch && currentArg.charAt(0) != '-') {
      linksToAdd.add(currentArg);
    }
 else     if (addContainersSwitch && currentArg.charAt(0) != '-') {
      if (new File(currentArg).exists()) {
        containersToAdd.add(currentArg);
      }
 else {
        logger.warning("String_Node_Str");
      }
    }
 else     if (addPasswordsSwitch && !(currentArg.charAt(0) == '-')) {
      UnrarPassword.addToPasswordlist(currentArg);
      logger.info("String_Node_Str" + currentArg);
    }
 else     if (extractSwitch && !(currentArg.charAt(0) == '-')) {
      if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
        logger.info(currentArg + "String_Node_Str");
        extractTime=-1;
      }
 else       if (extractTime == -1) {
        if (currentArg.matches("String_Node_Str")) {
          extractTime=Integer.parseInt(currentArg);
        }
 else {
          extractTime=0;
        }
      }
 else       if (!currentArg.matches("String_Node_Str")) {
        paths.add(currentArg);
      }
    }
 else     if (currentArg.contains("String_Node_Str") && !(currentArg.charAt(0) == '-')) {
      addContainersSwitch=false;
      addLinksSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      linksToAdd.add(currentArg);
    }
 else     if (new File(currentArg).exists() && !(currentArg.charAt(0) == '-')) {
      addContainersSwitch=false;
      addLinksSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      containersToAdd.add(currentArg);
    }
 else {
      addContainersSwitch=false;
      addLinksSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
    }
  }
  if (linksToAdd.size() > 0) {
    logger.info("String_Node_Str" + linksToAdd.toString());
  }
  if (containersToAdd.size() > 0) {
    logger.info("String_Node_Str" + containersToAdd.toString());
  }
  for (int i=0; i < containersToAdd.size(); i++) {
    JDUtilities.getController().loadContainerFile(new File(containersToAdd.get(i)));
  }
  String linksToAddString="String_Node_Str";
  for (int i=0; i < linksToAdd.size(); i++) {
    linksToAddString+=linksToAdd.get(i) + "String_Node_Str";
  }
  if (!linksToAddString.equals("String_Node_Str")) {
    DistributeData distributeData=new DistributeData(linksToAddString,hideGrabber,startDownload);
    distributeData.addControlListener(JDUtilities.getController());
    distributeData.start();
  }
 else   if (startDownload) {
    if (controller.getDownloadStatus() == JDController.DOWNLOAD_NOT_RUNNING) {
      controller.fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_STARTSTOP_DOWNLOAD,this));
    }
  }
  if (doExtract) {
    logger.info("String_Node_Str" + paths.toString() + "String_Node_Str"+ extractTime+ "String_Node_Str");
    Server.extract(paths,extractTime,false);
  }
}

Fixed version (ground truth):
public void processParameters(String[] input) throws RemoteException {
  boolean addLinksSwitch=false;
  boolean addContainersSwitch=false;
  boolean addPasswordsSwitch=false;
  boolean extractSwitch=false;
  Vector<String> linksToAdd=new Vector<String>();
  Vector<String> containersToAdd=new Vector<String>();
  Vector<String> paths=new Vector<String>();
  long extractTime=0;
  boolean doExtract=false;
  boolean hideGrabber=false;
  boolean startDownload=false;
  JDController controller=JDUtilities.getController();
  for (  String currentArg : input) {
    if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      Server.showCmdHelp();
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=true;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addContainersSwitch=true;
      addLinksSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addContainersSwitch=false;
      addLinksSwitch=false;
      addPasswordsSwitch=true;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      doExtract=true;
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=true;
      logger.info(currentArg + "String_Node_Str");
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
      startDownload=true;
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
      if (controller.getDownloadStatus() == JDController.DOWNLOAD_RUNNING) {
        controller.fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_STARTSTOP_DOWNLOAD,this));
      }
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      JACController.showDialog(false);
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      JACController.showDialog(true);
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      JDUtilities.getGUI().setGUIStatus(UIInterface.WINDOW_STATUS_MINIMIZED);
      logger.info(currentArg + "String_Node_Str");
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
      JDUtilities.getGUI().setGUIStatus(UIInterface.WINDOW_STATUS_FOREGROUND);
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
      hideGrabber=true;
    }
 else     if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
      addLinksSwitch=false;
      addContainersSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      logger.info(currentArg + "String_Node_Str");
      Reconnecter.waitForNewIP(1);
    }
 else     if (addLinksSwitch && currentArg.charAt(0) != '-') {
      linksToAdd.add(currentArg);
    }
 else     if (addContainersSwitch && currentArg.charAt(0) != '-') {
      if (new File(currentArg).exists()) {
        containersToAdd.add(currentArg);
      }
 else {
        logger.warning("String_Node_Str");
      }
    }
 else     if (addPasswordsSwitch && !(currentArg.charAt(0) == '-')) {
      UnrarPassword.addToPasswordlist(currentArg);
      logger.info("String_Node_Str" + currentArg);
    }
 else     if (extractSwitch && !(currentArg.charAt(0) == '-')) {
      if (currentArg.equals("String_Node_Str") || currentArg.equals("String_Node_Str")) {
        logger.info(currentArg + "String_Node_Str");
        extractTime=-1;
      }
 else       if (extractTime == -1) {
        if (currentArg.matches("String_Node_Str")) {
          extractTime=Integer.parseInt(currentArg);
        }
 else {
          extractTime=0;
        }
      }
 else       if (!currentArg.matches("String_Node_Str")) {
        paths.add(currentArg);
      }
    }
 else     if (currentArg.contains("String_Node_Str") && !(currentArg.charAt(0) == '-')) {
      addContainersSwitch=false;
      addLinksSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      linksToAdd.add(currentArg);
    }
 else     if (new File(currentArg).exists() && !(currentArg.charAt(0) == '-')) {
      addContainersSwitch=false;
      addLinksSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
      containersToAdd.add(currentArg);
    }
 else {
      addContainersSwitch=false;
      addLinksSwitch=false;
      addPasswordsSwitch=false;
      extractSwitch=false;
    }
  }
  if (linksToAdd.size() > 0) {
    logger.info("String_Node_Str" + linksToAdd.toString());
  }
  if (containersToAdd.size() > 0) {
    logger.info("String_Node_Str" + containersToAdd.toString());
  }
  for (int i=0; i < containersToAdd.size(); i++) {
    JDUtilities.getController().loadContainerFile(new File(containersToAdd.get(i)));
  }
  String linksToAddString="String_Node_Str";
  for (int i=0; i < linksToAdd.size(); i++) {
    linksToAddString+=linksToAdd.get(i) + "String_Node_Str";
  }
  linksToAddString=linksToAddString.trim();
  if (!linksToAddString.equals("String_Node_Str")) {
    DistributeData distributeData=new DistributeData(linksToAddString,hideGrabber,startDownload);
    distributeData.addControlListener(JDUtilities.getController());
    distributeData.start();
  }
 else   if (startDownload) {
    if (controller.getDownloadStatus() == JDController.DOWNLOAD_NOT_RUNNING) {
      controller.fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_STARTSTOP_DOWNLOAD,this));
    }
  }
  if (doExtract) {
    logger.info("String_Node_Str" + paths.toString() + "String_Node_Str"+ extractTime+ "String_Node_Str");
    Server.extract(paths,extractTime,false);
  }
}