anchor.diff:  
   The example below demonstrates how to implement `find -exec` using this API:
   
  -```java
  +[source,java]
  +----
   @Command(name = "find")
   class Find {
       @Option(names = "-exec", parameterConsumer = ExecParameterConsumer.class)
  
positive.code: 
  Example:
  
  ```java
  class CommonParams {
      @Option(names = "-x") int x;
      @Option(names = "-y") int y;
  
negative.code: map.put(SECTION_KEY_EXIT_CODE_LIST,         help -> help.exitCodeList());
  map.put(SECTION_KEY_FOOTER_HEADING,         help -> help.footerHeading());
  map.put(SECTION_KEY_FOOTER,                 help -> help.footer());
  ----
  
  .Kotlin
  [source,kotlin,role="secondary"]
  ----
  import picocli.CommandLine.Model.UsageMessageSpec.*
  // ...
  
  // The default section renderers delegate to methods in Help for their implementation
  // (using lambda expressions for brevity):
  val map: MutableMap<String, IHelpSectionRenderer> = HashMap()
  map[SECTION_KEY_HEADER_HEADING] =
      IHelpSectionRenderer { help: Help -> help.headerHeading() }
  map[SECTION_KEY_HEADER] =
      IHelpSectionRenderer { help: Help -> help.header() }
  
  //e.g. Usage:
  map[SECTION_KEY_SYNOPSIS_HEADING] =
      IHelpSectionRenderer { help: Help -> help.synopsisHeading() }
  
  //e.g. <cmd> [OPTIONS] <subcmd> [COMMAND-OPTIONS] [ARGUMENTS]
  map[SECTION_KEY_SYNOPSIS] = 
      IHelpSectionRenderer { help: Help -> help.synopsis(help.synopsisHeadingLength()) }
  
  //e.g. %nDescription:%n%n
  map[SECTION_KEY_DESCRIPTION_HEADING] =
      IHelpSectionRenderer { help: Help -> help.descriptionHeading() }
  
  //e.g. {"Converts foos to bars.", "Use options to control conversion mode."}
  map[SECTION_KEY_DESCRIPTION] =
      IHelpSectionRenderer  { help: Help -> help.description() }
  
  //e.g. %nPositional parameters:%n%n
  map[SECTION_KEY_PARAMETER_LIST_HEADING] =
      IHelpSectionRenderer { help: Help -> help.parameterListHeading() }
  
  //e.g. [FILE...] the files to convert
  map[SECTION_KEY_PARAMETER_LIST] =
      IHelpSectionRenderer { help: Help -> help.parameterList() }
  
  //e.g. %nOptions:%n%n
  map[SECTION_KEY_OPTION_LIST_HEADING] =
      IHelpSectionRenderer { help: Help -> help.optionListHeading() }
  
  //e.g. -h, --help   displays this help and exits
  map[SECTION_KEY_OPTION_LIST] =
      IHelpSectionRenderer { help: Help -> help.optionList() }
  
  //e.g. %nCommands:%n%n
  map[SECTION_KEY_COMMAND_LIST_HEADING] =
      IHelpSectionRenderer { help: Help -> help.commandListHeading() }
  
  //e.g.    add       this command adds the frup to the frooble
  map[SECTION_KEY_COMMAND_LIST] =
      IHelpSectionRenderer { help: Help -> help.commandList() }
  map[SECTION_KEY_EXIT_CODE_LIST_HEADING] =
      IHelpSectionRenderer { help: Help -> help.exitCodeListHeading() }
  map[SECTION_KEY_EXIT_CODE_LIST] =
      IHelpSectionRenderer { help: Help -> help.exitCodeList() }
  map[SECTION_KEY_FOOTER_HEADING] =
      IHelpSectionRenderer { help: Help -> help.footerHeading() }
  map[SECTION_KEY_FOOTER] =
      IHelpSectionRenderer { help: Help -> help.footer() }
  ----
  
  Applications can add, remove or replace sections in this map. The `CommandLine::getHelpSectionKeys` method (or `UsageMessageSpec::sectionKeys` for a single `CommandSpec`) returns the section keys in the order that the usage help message should render the sections. The default keys are (in order):
  