anchor.diff:  
   [source,java]
   ----
  -MyApplication app = new MyApplication();
  -CommandLine.parse(app, "--in", "path/to/inputFile", "--out", "path/to/outputFile");
  -assert app.inputFile != null;
  -----
  -
  -== Options and Parameters
  +Example app = new Example();
  +CommandLine.parse(app, "--out", "path/to/outputFile", "inputFile1", "inputFile2");
  +assert app.inputFiles != null;
  +----
  +
  +== Named Options and Positional Parameters
   Imagine an application that takes some input files and compresses them to an output file.
   ----
   Compress -o outputFile file1 file2 file3
   ----
  -The program takes one option (`-o`, the output file) and any number of input files. One way to accomplish this with picoCLI looks like this:
  +The program takes one option (`-o`, the output file) and one or more input files. One way to accomplish this with picoCLI looks like this:
   
   [source, java]
   ----
   import picocli.CommandLine.*;
   import java.io.File;
   
  -@Usage(program = "Compress", header = "takes some input files and compresses them to an output file")
  +@Usage(programName = "Compress", header = "Compresses the specified input files to an output file")
   public class Compress {
  -    @Parameters(arity = 1, usage = "one or more files to compress")
  +    @Parameters(arity = "1..*", usage = "one or more files to compress")
       File[] inputFiles;
   
       @Option(names = {"-o", "--outfile"}, usage = "optional output file name. If omitted directory name is used.")
  
positive.code: [source,java]
  ----
  import picocli.CommandLine.Option;
  import java.io.File;
  
  public class MyApplication {
      @Option(names = { "--failfast", "-f" }, description = "Stop on the first failure.")
      private boolean failFast = true;
  
      @Option(names = { "--in", "-i" }, description = "Specifies the input file.", required = true)
      private File inputFile;
  
      @Option(names = { "--out", "-o" }, description = "Specifies the output file.", required = true)
      private File outputFile;
  
      @Option(names = { "--verbose", "-v" }, description = "Be verbose.")
      private boolean verbose = false;
      ...
  }
  ----
  
negative.code: Remko Popma <rpopma@apache.org>
  v0.2.0, 2017-02-11
  :toc: left
  :toclevels: 1
  :toc-title: Features
  
  A CLI framework in a single file, designed to be easy to include in your application _in source form_:
  allowing you to parse command line arguments without dragging in an external dependency.
  
  How it works: annotate your class and picoCLI initializes it from the command line arguments,
  converting the input to strongly typed values in the fields of your class. Any option prefix style works,
  with special support for POSIX-style clustered short options.
  Easily customizable online "usage" help. Can be configured to make option matching case-insensitive,
  and supports abbreviated options when unambiguous. Works with Java 5 or higher.
  
  == Example
  