anchor.diff:  [source]
   ----
   $ time java -cp "picocli-3.9.5.jar;checksum.jar" \
  -    com.example.CheckSum --version
  -checksum 3.0
  -
  -real    0m0.324s
  -user    0m0.375s
  -sys     0m0.141s
  -----
  -
  -On Java Hotspot, it takes about a third of a second to start the JVM and print the version information. Now, we run the native image:
  +    picocli.example.CheckSum picocli-3.9.5.jar
  +509e3e2602854d5b88e2e7baa476a7fe
  +
  +real    0m0.517s
  +user    0m0.869s
  +sys     0m0.082s
  +----
  +
  +On Oracle Hotspot, it takes about half a second to start the JVM and print the checksum. Now, we run the native image:
   
   .Running the native image
   [source]
   ----
  -$ time ./jchecksum --version
  -checksum 3.0
  -
  -real    0m0.038s
  -user    0m0.000s
  -sys     0m0.031s
  -----
  -
  -The startup time is now down to 38 milliseconds! This is on the Ubuntu distribution on Windows Subsystem for Linux on Windows 10.
  +$ time ./jchecksum picocli-3.9.5.jar
  +509e3e2602854d5b88e2e7baa476a7fe
  +
  +real    0m0.006s
  +user    0m0.003s
  +sys     0m0.002s
  +----
  +
  +The execution time is now down to 6 milliseconds!
   
   All command line parsing functionality works as expected, with type conversion, validation and help with ANSI colors. This is exciting news when you want to write command line applications and services in Java and have them run instantaneously.
   
   
   == Conclusion
  -I would have liked to tell you more. I haven't been able to talk about resource bundles, @-files, parser configuration options, the `@ParentCommand` annotation, the `@Spec` annotation, the programmatic API, and various other topics. I hope I've been able to give you some idea of picocli's capabilities, and where it could be useful. Don't hesitate to star the project on GitHub if you like it!
  +Picocli has many more features you may be interested in, like resource bundles, @-files, parser configuration options, the `@ParentCommand` annotation, the `@Spec` annotation, the programmatic API, and more... I hope I've been able to give you some idea of picocli's capabilities, and where it could be useful. Star the project on GitHub if you like it!
  +
  
positive.code: * parse the user input
  * inspect the result
  
  Picocli offers an annotations API and a programmatic API. In this section we will focus on the annotations API. The Tips and Tricks section below will briefly show the programmatic API.
  
  To define a command or a subcommand, annotate a class or a method with `@Command`. The `@Command` annotation is not strictly necessary, but useful because it is a convenient way to set the command name, description, and other elements of the usage help message. Subcommands can be specified in the `@Command` annotation but can also be added to a command programmatically.
  
  To define options and positional parameters, annotate a field or a method with `@Option` or `@Parameters`. Here is an example of a minimal command:
  
  
negative.code: 
  JLine and picocli complement each other well. JLine has support for history, highlighting, input tokenization, and a framework for command line completion. Picocli can parse an array of strings and execute a command or subcommand.
  
  Combining these two libraries makes it easy to build powerful interactive shell applications. Picocli has two modules, `picocli-shell-jline2` and `picocli-shell-jline3`, for this purpose.
  
  These modules have a `PicocliJLineCompleter` class that shows context-sensitive completion candidates for options, option parameters and subcommands of a set of picocli commands. The readme of the modules has an example. Applications that use picocli to define their commands no longer need to hand-code Completers for their commands and options. (An early version of this is used in the Micronaut CLI.)
  
  == Blazingly Fast with GraalVM
  
  