Program: 10355
Project: 10355
Buggy source:
@Override public void parseArgs(ScriptEntry scriptEntry) throws InvalidArgumentsException {
  boolean specified_target=false;
  for (  aH.Argument arg : aH.interpret(scriptEntry.getArguments())) {
    if (!scriptEntry.hasObject("String_Node_Str") && arg.matchesPrefix("String_Node_Str") && arg.matchesArgumentType(Duration.class)) {
      scriptEntry.addObject("String_Node_Str",arg.asType(Duration.class));
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.matches("String_Node_Str")) {
      specified_target=true;
      scriptEntry.addObject("String_Node_Str",scriptEntry.getNPC());
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.matches("String_Node_Str")) {
      specified_target=true;
      scriptEntry.addObject("String_Node_Str",new Element("String_Node_Str"));
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.matches("String_Node_Str")) {
      specified_target=true;
      scriptEntry.addObject("String_Node_Str",scriptEntry.getPlayer());
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.matchesArgumentType(dNPC.class) && arg.startsWith("String_Node_Str")) {
      specified_target=true;
      scriptEntry.addObject("String_Node_Str",arg.asType(dNPC.class));
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.matchesArgumentType(dPlayer.class) && arg.startsWith("String_Node_Str")) {
      specified_target=true;
      scriptEntry.addObject("String_Node_Str",arg.asType(dPlayer.class));
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.raw_value.split("String_Node_Str",3).length == 1) {
      scriptEntry.addObject("String_Node_Str",FlagManager.Action.SET_BOOLEAN);
      scriptEntry.addObject("String_Node_Str",Element.TRUE);
      scriptEntry.addObject("String_Node_Str",arg.asElement());
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.raw_value.split("String_Node_Str",3).length == 2) {
      String[] flagArgs=arg.raw_value.split("String_Node_Str",2);
      scriptEntry.addObject("String_Node_Str",new Element(flagArgs[0].toUpperCase()));
      if (flagArgs[1].equals("String_Node_Str") || flagArgs[1].equals("String_Node_Str")) {
        scriptEntry.addObject("String_Node_Str",FlagManager.Action.INCREASE);
        scriptEntry.addObject("String_Node_Str",new Element(1));
      }
 else       if (flagArgs[1].equals("String_Node_Str") || flagArgs[1].equals("String_Node_Str")) {
        scriptEntry.addObject("String_Node_Str",FlagManager.Action.DECREASE);
        scriptEntry.addObject("String_Node_Str",new Element(1));
      }
 else       if (flagArgs[1].equals("String_Node_Str")) {
        scriptEntry.addObject("String_Node_Str",FlagManager.Action.DELETE);
        scriptEntry.addObject("String_Node_Str",Element.FALSE);
      }
 else       if (flagArgs[1].equals("String_Node_Str")) {
        scriptEntry.addObject("String_Node_Str",FlagManager.Action.REMOVE);
        scriptEntry.addObject("String_Node_Str",Element.FALSE);
      }
 else {
        scriptEntry.addObject("String_Node_Str",FlagManager.Action.SET_VALUE);
        scriptEntry.addObject("String_Node_Str",new Element(flagArgs[1]));
      }
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.raw_value.split("String_Node_Str",3).length == 3) {
      String[] flagArgs=arg.raw_value.split("String_Node_Str",3);
      scriptEntry.addObject("String_Node_Str",new Element(flagArgs[0].toUpperCase()));
      scriptEntry.addObject("String_Node_Str",new Element(flagArgs[2]));
      if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.INSERT);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.REMOVE);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.SPLIT);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.INCREASE);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.DECREASE);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.MULTIPLY);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.DIVIDE);
    }
 else     dB.echoDebug("String_Node_Str" + arg.raw_value);
  }
  if (!specified_target)   scriptEntry.defaultObject("String_Node_Str",scriptEntry.getPlayer());
  if (!scriptEntry.hasObject("String_Node_Str"))   throw new InvalidArgumentsException("String_Node_Str");
  if (!scriptEntry.hasObject("String_Node_Str"))   throw new InvalidArgumentsException("String_Node_Str");
}

Fixed version (ground truth):
@Override public void parseArgs(ScriptEntry scriptEntry) throws InvalidArgumentsException {
  boolean specified_target=false;
  for (  aH.Argument arg : aH.interpret(scriptEntry.getArguments())) {
    if (!scriptEntry.hasObject("String_Node_Str") && arg.matchesPrefix("String_Node_Str") && arg.matchesArgumentType(Duration.class)) {
      scriptEntry.addObject("String_Node_Str",arg.asType(Duration.class));
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.matches("String_Node_Str")) {
      specified_target=true;
      scriptEntry.addObject("String_Node_Str",scriptEntry.getNPC());
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.matches("String_Node_Str")) {
      specified_target=true;
      scriptEntry.addObject("String_Node_Str",Element.SERVER);
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.matches("String_Node_Str")) {
      specified_target=true;
      scriptEntry.addObject("String_Node_Str",scriptEntry.getPlayer());
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.startsWith("String_Node_Str")) {
      if (dNPC.valueOf(arg.getValue()) == null)       throw new InvalidArgumentsException("String_Node_Str");
      specified_target=true;
      scriptEntry.addObject("String_Node_Str",arg.asType(dNPC.class));
    }
 else     if (!scriptEntry.hasObject("String_Node_Str") && arg.startsWith("String_Node_Str")) {
      if (dPlayer.valueOf(arg.getValue()) == null)       throw new InvalidArgumentsException("String_Node_Str");
      specified_target=true;
      scriptEntry.addObject("String_Node_Str",arg.asType(dPlayer.class));
    }
 else     if (arg.raw_value.split("String_Node_Str",3).length == 1) {
      scriptEntry.addObject("String_Node_Str",FlagManager.Action.SET_BOOLEAN);
      scriptEntry.addObject("String_Node_Str",Element.TRUE);
      scriptEntry.addObject("String_Node_Str",arg.asElement());
    }
 else     if (arg.raw_value.split("String_Node_Str",3).length == 2) {
      String[] flagArgs=arg.raw_value.split("String_Node_Str",2);
      scriptEntry.addObject("String_Node_Str",new Element(flagArgs[0].toUpperCase()));
      if (flagArgs[1].equals("String_Node_Str") || flagArgs[1].equals("String_Node_Str")) {
        scriptEntry.addObject("String_Node_Str",FlagManager.Action.INCREASE);
        scriptEntry.addObject("String_Node_Str",new Element(1));
      }
 else       if (flagArgs[1].equals("String_Node_Str") || flagArgs[1].equals("String_Node_Str")) {
        scriptEntry.addObject("String_Node_Str",FlagManager.Action.DECREASE);
        scriptEntry.addObject("String_Node_Str",new Element(1));
      }
 else       if (flagArgs[1].equals("String_Node_Str")) {
        scriptEntry.addObject("String_Node_Str",FlagManager.Action.DELETE);
        scriptEntry.addObject("String_Node_Str",Element.FALSE);
      }
 else       if (flagArgs[1].equals("String_Node_Str")) {
        scriptEntry.addObject("String_Node_Str",FlagManager.Action.REMOVE);
        scriptEntry.addObject("String_Node_Str",Element.FALSE);
      }
 else {
        scriptEntry.addObject("String_Node_Str",FlagManager.Action.SET_VALUE);
        scriptEntry.addObject("String_Node_Str",new Element(flagArgs[1]));
      }
    }
 else     if (arg.raw_value.split("String_Node_Str",3).length == 3) {
      String[] flagArgs=arg.raw_value.split("String_Node_Str",3);
      scriptEntry.addObject("String_Node_Str",new Element(flagArgs[0].toUpperCase()));
      scriptEntry.addObject("String_Node_Str",new Element(flagArgs[2]));
      if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.INSERT);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.REMOVE);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.SPLIT);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.INCREASE);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.DECREASE);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.MULTIPLY);
 else       if (flagArgs[1].startsWith("String_Node_Str"))       scriptEntry.addObject("String_Node_Str",FlagManager.Action.DIVIDE);
    }
 else     arg.reportUnhandled();
  }
  if (!specified_target)   scriptEntry.defaultObject("String_Node_Str",scriptEntry.getPlayer());
  if (!scriptEntry.hasObject("String_Node_Str"))   throw new InvalidArgumentsException("String_Node_Str");
  if (!scriptEntry.hasObject("String_Node_Str"))   throw new InvalidArgumentsException("String_Node_Str");
}