anchor.diff:  == Options with Parameters
   == parameters are strongly typed
   == built-in type converters
  -
  -Converters for byte, short, int and long (and their wrapper classes) use the https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#decode(java.lang.String)[`decode`] method to convert String values, so you can specify hexadecimal and even octal values in additional to the normal decimal values. (Be aware that values starting with `0` are interpreted to be octal values!)
  -
   == registering custom type converters
   == option short form
   
  
positive.code: 
  [source,java]
  ----
  Example app = new Example();
  CommandLine.parse(app, "--out", "path/to/outputFile", "inputFile1", "inputFile2");
  assert app.inputFiles != null;
  ----
  
  == Named Options and Positional Parameters
  Imagine an application that takes some input files and compresses them to an output file.
  ----
  Compress -o outputFile file1 file2 file3
  
negative.code:     @Parameters(description = "Specifies the input file(s).")
      private File[] inputFiles;
  
      @Option(names = { "-v", "--verbose" }, description = "Be verbose.")
      private boolean verbose = false;
  
      @Option(names = { "-h", "--help" }, help = true,
              description = "Displays this help message and quits.")
      private boolean helpRequested = false;
      ...
  }
  