docs: @SuppressFBWarnings("DM_EXIT")
      public int parse(String argv[], int minArgs, int maxArgs, String usage) {
          try {
              int count = parse(argv);
              int remaining = argv.length - count;
              if (remaining < minArgs || remaining > maxArgs) {
                  System.out.println(usage);
                  System.out.println("Expected " + minArgs + "..." + maxArgs + " file arguments, found " + remaining);
                  System.out.println("Options:");
                  printUsage(System.out);
                  System.exit(1);
              }
              return count;
          } catch (HelpRequestedException e) {
              // fall through
          } catch (RuntimeException e) {
              e.printStackTrace();
          } catch (IOException e) {
              e.printStackTrace();
          }
          System.out.println(usage);
          System.out.println("Options:");
          printUsage(System.out);
          System.exit(1);
          return -1;
      }