anchor.diff:  See <<Strongly Typed Everything>> for which types are supported out of the box and how to add custom types.
   
   === Double dash (`--`)
  -When one of the command line arguments is two dashes without any characters attached (`--`), picocli interprets all following arguments as positional parameters, even arguments that match an option name.
  +When one of the command line arguments is just two dashes without any characters attached (`--`), picocli interprets all following arguments as positional parameters, even arguments that match an option name.
   
   [source,java]
   ----
   class DoubleDashDemo {
  -    @Parameters
  -    List<String> params;
  -
  -    @Option(names = "--files")
  -    List<String> files;
  -
  -    @Option(names = { "-v", "--verbose" })
  -    boolean verbose;
  +    @Option(names = "-v")      boolean verbose;
  +    @Option(names = "--files") List<String> files;
  +    @Parameters                List<String> params;
   }
   ----
   
  
positive.code: 
  
  == Required Arguments
  === Options
  Options can be marked `required` to make it mandatory for the user to specify them on the command line. When a required option is not specified, a `MissingParameterException` is thrown from the `parse` method. For example:
  [source, java]
  ----
  
negative.code: String[] args = { "-cf", "result.tar", "file1.txt", "file2.txt" };
  Tar tar = CommandLine.parse(new Tar(), args);
  
  assert !tar.helpRequested;
  assert  tar.create;
  assert  tar.archive.equals(new File("result.tar"));
  assert  Arrays.equals(tar.files, new File[] {new File("file1.txt"), new File("file2.txt")});
  ----
  
  Picocli supports http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02[POSIX clustered short options]:
  One or more options without option-arguments, followed by at most one option with an option-argument, can be grouped behind one '-' delimiter.
  
  
  For example, given this annotated class:
  