anchor.diff:  
   Note that the options are defined as `required = true`; this means required _within the group_, not required within the command.
   
  -CAUTION: From picocli 4.1.2, all options in an exclusive group are automatically considered required, even if they are not marked as `required = true` in the annotations. Applications using older versions of picocli should mark all options in exclusive groups as required.
  +CAUTION: As of picocli 4.1.2, all options in an exclusive group are automatically considered required, even if they are not marked as `required = true` in the annotations. Applications using older versions of picocli should mark all options in exclusive groups as required.
   
   Picocli will validate the arguments and throw a `MutuallyExclusiveArgsException` if multiple mutually exclusive arguments were specified. For example:
   
  -[source, java]
  +.Java
  +[source,java,role="primary"]
   ----
   MutuallyExclusiveOptionsDemo example = new MutuallyExclusiveOptionsDemo();
   CommandLine cmd = new CommandLine(example);
  
positive.code: 
  Picocli will validate the arguments and throw a `MissingParameterException` if not all dependent arguments were specified. For example:
  
  [source, java]
  ----
  DependentOptionsDemo example = new DependentOptionsDemo();
  CommandLine cmd = new CommandLine(example);
  
negative.code: Picocli will not be able to retrieve the default values that are defined by assigning a value in the declaration of an `@Option`-annotated field in a group. For example:
  
  .This does not work correctly: usage help shows `null` as the default value.
  
  .Java
  [source,java,role="primary"]
  ----
  class BadGroup {
      @Option(names = "-x", description = "Default: ${DEFAULT-VALUE}")
      int x = 123; // value not found until `BadGroup` is instantiated
  }
  
  @Command(name = "bad", description = "usage help shows the wrong default value")
  class BadExample {
      @ArgGroup BadGroup badGroup;
  