code: int run(@Nonnull String[] args, @Nonnull final ProcessStream system) {
          OptionHandlerRegistry.getRegistry().registerHandler(CliCommand.class, CliCommandOptionHandler.class);
          OptionHandlerRegistry.getRegistry().registerHandler(ProcessRuntime.class, new OptionHandlerRegistry.OptionHandlerFactory() {
              public OptionHandler<?> getHandler(CmdLineParser parser, OptionDef o, Setter setter) {
                  return new ProcessRuntimeOptionHandler(parser, o, setter, system);
              }
          });
  
          CmdLineParser parser = new CmdLineParser(this);
  
          try {
              parser.parseArgument(args);
  
              return handler.run(system);
          } catch (CmdLineException ex) {
  
              system.err().println(ex.getMessage());
              HelpCommand.printUsage(handler, system.err(), ex);
          } catch (CommandFailedException ex) {
  
              system.err().println(ex.getMessage());
          } catch (RuntimeException ex) {
  
              ex.printStackTrace(system.err());
          }
  
          return -1;
      }
docs: /*package