anchor.diff:  
   [source,bash]
   ----
  -alias git='java -Dpicocli.trace=DEBUG -cp picocli-all.jar picocli.Demo$Git'
  +alias git='java -Dpicocli.trace -cp picocli-all.jar picocli.Demo$Git'
   git --git-dir=/home/rpopma/picocli commit -m "Fixed typos" -- src1.java src2.java src3.java
   unalias git
   ----
  
positive.code: 
  image:VersionInfoWithColors.png[Screenshot of version information containing markup with Ansi styles and colors]
  
  
  == Usage Help
  === Compact Example
  
negative.code: 
  [source,java]
  ----
  Callable<Object> callable = null;
  try {
      callable = CommandLine.populateCommand(annotatedObject, args);
  } catch (Exception ex) {
      System.err.println(ex.getMessage());
      CommandLine.usage(annotatedObject, System.err);
      return null;
  }
  return callable.call();
  ----
  
  .After
  
  [source,java]
  ----
  Object result = CommandLine.call(new MyCallable(), System.err, args);
  ----
  The `CommandLine.call` method returns the result of the `Callable`, or `null` if the command line options were invalid. An error message and a usage help message are printed when the command line options were invalid. Exceptions thrown from the `Callable.call` method are not caught by the `CommandLine.call` method.
  
  
  When the annotated object implements `Runnable`, use the `run` method. For example:
  [source,java]
  ----
  CommandLine.run(new MyRunnable(), System.err, args);
  ----
  
  CAUTION: Note that the `CommandLine.call` and `CommandLine.run` convenience methods cannot be used with subcommands.
  
  
  === Boolean Parameters
  By default the value of a boolean field is toggled to its logical negative when the field's option is specified on the command line.
  