anchor.diff:  
   For example, if an application has these options:
   
  -[source,java]
  +.Java
  +[source,java,role="primary"]
   ----
   @Option(names = "--user")
   String user;
   
   @Option(names = "--password", arity = "0..1", interactive = true)
   char[] password;
  +----
  +
  +.Kotlin
  +[source,kotlin,role="secondary"]
  +----
  +@Option(names = ["--user"])
  +lateinit var user: String
  +
  +@Option(names = ["--password"], arity = "0..1", interactive = true)
  +lateinit var password: CharArray
   ----
   
   With the following input, the `password` field will be initialized to `"123"` without prompting the user for input:
  
positive.code: assert demo.verbose;
  assert demo.files == null;
  assert demo.params.equals(Arrays.asList("-files", "file1", "file2"));
  ----
  
  A custom delimiter can be configured with `CommandLine.setEndOfOptionsDelimiter(String)`.
  
negative.code: The description of each subcommand in the command list is taken from the subcommand's first `header` line, or the first `description` line if it does not have a `header` defined.
  
  The above usage help message is produced from the annotations on the class below:
  
  .Java
  [source,java,role="primary"]
  ----
  @Command(name = "git", mixinStandardHelpOptions = true,
          version = "subcommand demo - picocli 4.0",
          subcommands = HelpCommand.class,
          description = "Git is a fast, scalable, distributed revision control " +
                        "system with an unusually rich command set that provides both " +
  