docs: public static int exec(String origArgs[])
      {
          errorReporter = new ToolErrorReporter(false, global.getErr());
          shellContextFactory.setErrorReporter(errorReporter);
          String[] args = processOptions(origArgs);
          if (exitCode > 0) {
              return exitCode;
          }
          if (processStdin) {
              fileList.add(null);
          }
          if (!global.initialized) {
              global.init(shellContextFactory);
          }
          IProxy iproxy = new IProxy(IProxy.PROCESS_FILES);
          iproxy.args = args;
          shellContextFactory.call(iproxy);
  
          return exitCode;
      }