anchor.diff:  
   Picocli https://picocli.info/#_strongly_typed_everything[converts] the option parameter String value to the field type. Not only does it save the application from doing this work, it also provides some minimal validation on the user input. If the conversion fails, a `ParameterException` is thrown with a user-friendly error message.
   
  -For example, the Checkstyle `Main` class defines a `-x`, `--exclude-regexp` option that allows uses to specify a number of regular expressions for directories to exclude. With Commons CLI, you need to convert the String values to `java.util.regex.Pattern` objects in the application:
  +Let's look at an example to see how useful this is.  The Checkstyle `Main` class defines a `-x`, `--exclude-regexp` option that allows uses to specify a number of regular expressions for directories to exclude.
  +
  +With Commons CLI, you need to convert the String values to `java.util.regex.Pattern` objects in the application:
   [source,java]
   ----
   private static List<Pattern> getExclusions(CommandLine commandLine) {
  
positive.code: 
  image:https://picocli.info/images/name.jpg[width=200]
  
  Commons CLI supports "short" and "long" options, like `-t` and `--tree`. This is not always what you want. Picocli lets an option have any number of names, with any prefix. For example, this would be perfectly fine in picocli:
  
  [source,java]
  ----
  
negative.code: ===== Help Options
  image:https://picocli.info/images/AskingForHelp.jpg[width=200]
  
  It is surprisingly difficult in Commons CLI to create an application with a required option that also has a `--help` option. Commons CLI has no special treatment for help options and will complain about the missing required option when the user specifies `<command> --help`.
  
  Picocli has built-in support for common (and custom) https://picocli.info/#_help_options[help options].
  
  
  === Parsing the Command Line Arguments
  