anchor.diff:  
   == Options and Parameters
   Command line arguments can be separated into _options_  and _positional parameters_.
  -Options have a name, positional parameters are usually the values that follow the options,
  -but they may be mixed.
  +Options have a name, positional parameters are usually the values that follow the options, but they may be mixed.
   
   image:OptionsAndParameters2.png[Example command with annotated @Option and @Parameters]
   
  
positive.code:     }
  }
  ```
  
  === Case Sensitivity
  By default, all options and subcommands are case sensitive.
  Case sensitivity can be switched off globally, as well as on a per-command basis.
  
  To toggle case sensitivity for all commands, use the `CommandLine::setSubcommandsCaseInsensitive` and `CommandLine::setOptionsCaseInsensitive` methods.
  Use the `CommandSpec::subcommandsCaseInsensitive` and `CommandSpec::optionsCaseInsensitive` methods to give some commands a different case sensitivity than others.
  
  Where possible, picocli will try to prevent ambiguity: when multiple options with the same name are registered in a command, a `DuplicateOptionAnnotationsException` is thrown.
  When multiple subcommands with the same name are registered in a command, a `DuplicateNameException` is thrown.
  
  With case sensitivity switched off, the same principle applies: multiple options whose names differ only in case cannot be registered in a command.
  Similarly, multiple subcommands cannot be registered when their names differ only in case.
  
  [WARNING]
  ====
  When a combination of POSIX options resembles a long option, picocli will prioritize the long option.
  This is the case regardless of case sensitivity, but be aware that with case sensitivity switched off, the chance of such collisions increases.
  For example, if a command has POSIX options `-a`, `-b`, and `-c`, and a long option `-ABC`, then, when the user specifies `-abc`, picocli will recognize it as the long option `-ABC`, not as the POSIX options.
  ====
  
  See the https://github.com/remkop/picocli/tree/master/picocli-examples/src/main/java/picocli/examples/casesensitivity[casesensitivity] package in `picocli-examples` for some examples.
  
  
  == Help
  
  
negative.code: public class Git { ... }
  ----
  
  Subcommands referenced in a `subcommands` attribute _must_ have a `@Command` annotation with a `name` attribute, or an exception is thrown from the `CommandLine` constructor.
  This name will be used both for generating usage help and for recognizing subcommands when parsing the command line.
  Command names are case-sensitive by default, but this is <<Case Sensitivity,customizable>>.
  
  Custom type converters registered on a `CommandLine` instance will apply to all subcommands that were declared on the main command with the `subcommands` annotation.
  
  