anchor.diff:  
   For example:
   
  -[source,java]
  +.Java
  +[source,java,role="primary"]
   ----
   class VersionProviderWithVariables implements IVersionProvider {
       public String[] getVersion() {
           return new String[] { "${COMMAND-FULL-NAME} version 1.0" };
       }
   }
  -
  +----
  +
  +.Kotlin
  +[source,kotlin,role="secondary"]
  +----
  +class VersionProviderWithVariables : IVersionProvider {
  +    override fun getVersion(): Array<String> {
  +        return arrayOf("\${COMMAND-FULL-NAME} version 1.0")
  +    }
  +}
   ----
   
   The above example version provider will show the fully qualified command name (that is, preceded by its parent fully qualified command name)
  
positive.code: ----
  
  ==== Version Info With Variables
  Since 4.0, the version strings may contain <<Variable Interpolation,system properties and environment variables>>. For example:
  [source,java]
  ----
  @Command(version = {
      "Versioned Command 1.0",
      "Picocli " + picocli.CommandLine.VERSION,
      "JVM: ${java.version} (${java.vendor} ${java.vm.name} ${java.vm.version})",
      "OS: ${os.name} ${os.version} ${os.arch}"})
  class VersionedCommand { ... }
  ----
  Depending on your environment, that may print something like:
  
  ----
  
negative.code: Usage: <cmd> [OPTIONS] FILES [COMMAND]
  ----
  
  As of picocli 4.0, this can be customized with the `synopsisSubcommandLabel` attribute.
  
  For example, to clarify that a <<Required Subcommands,subcommand is mandatory>>, an application may specify `COMMAND`, without the `[` and `]` brackets:
  
  