anchor.diff:  ===== 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].
  +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
  
positive.code:     return result;
  }
  ----
  By contract, in picocli you would simply declare the option on a `List<Pattern>` (or a `Pattern[]` array) field.
  Since picocli has a built-in converter for `java.util.regex.Pattern`, all that is needed is to declare the option. The conversion code goes away completely. Picocli will instantiate and populate the list if one or more `-x` options are specified on the command line.
  
  
negative.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]
  ----
  