code: public Object handleParameterException(ParameterException pe, String[] args) {
          printErrorMessage(String.format("args: %s%n%s", Arrays.toString(args), pe.getMessage()));
          printHelpMessage(pe.getCommandLine());
          return 1;
      }
docs: If a ParameterException occurs during {@link #parseScriptArguments(CommandLine, String[])}
  then this method gets called to report the problem.
  The default behavior is to show the exception message using {@link #printErrorMessage(String)},
  then call {@link #printHelpMessage(CommandLine)}.
  The return value becomes the return value for the Script.run which will be the exit code
  if we've been called from the command line.
  
  @param pe The ParameterException that occurred
  @param args The argument array
  @return The value that Script.run should return. This implementation returns 1, subclasses may override.