code: public static <T> T parseInMain (Class<T> argsType, String[] args, FieldParserFactory parsers)
      {
          try {
              return parse(argsType, args, parsers);
          } catch (YarrgParseException e) {
              System.err.println(e.getExitMessage());
              System.exit(1);
              throw new IllegalStateException("Java continued past a System.exit call");
          }
      }
docs: Parses <code>args</code> into an instance of <code>argsType</code> using
  <code>parsers</code>. Calls <code>System.exit(1)</code> if the user supplied bad arguments
  after printing a reason to <code>System.err</code>. Thus, this is suitable to be called
  from a <code>main</code> method that's parsing arguments.