anchor.diff:  public class ReusableOptions {
   
       @Option(names = { "-v", "--verbose" }, description = {
  -        "Specify multiple -v options to increase verbosity.",
  -        "For example, `-v -v -v` or `-vvv`" })
  +            "Specify multiple -v options to increase verbosity.",
  +            "For example, `-v -v -v` or `-vvv`" })
       protected boolean[] verbosity = new boolean[0];
   }
   ----
   
  +.Kotlin
  +[source,kotlin,role="secondary"]
  +----
  +@Command(synopsisHeading      = "%nUsage:%n%n",
  +         descriptionHeading   = "%nDescription:%n%n",
  +         parameterListHeading = "%nParameters:%n%n",
  +         optionListHeading    = "%nOptions:%n%n",
  +         commandListHeading   = "%nCommands:%n%n")
  +public open class ReusableOptions {
  +
  +    @Option(names = ["-v", "--verbose"], description = [
  +            "Specify multiple -v options to increase verbosity.",
  +            "For example, `-v -v -v` or `-vvv`"])
  +    protected var verbosity = BooleanArray(0)
  +}
  +----
  +
  +
   Now, any command defined in a class that extends `ReusableOptions` will inherit the `--verbose` option, and generate a usage help message in the same spacious style. Example code:
   
  -[source,java]
  +.Java
  +[source,java,role="primary"]
   ----
   @Command(name = "zip", description = "Example reuse by subclassing")
  -public class MyCommand extends ReusableOptions { ... }
  +public class MyCommand extends ReusableOptions { /* ... */ }
  +----
  +
  +.Kotlin
  +[source,kotlin,role="secondary"]
  +----
  +@Command(name = "zip", description = ["Example reuse by subclassing"])
  +class MyCommand : ReusableOptions(), Runnable {
  +
  +    override fun run() {
  +        // ...
  +    }
  +}
   ----
   
   === Mixins
  
positive.code: 
  Below is an example class, `ReusableOptions`, that defines some usage help attributes and a `--verbose` option that we want to reuse.
  
  [source,java]
  ----
  @Command(synopsisHeading      = "%nUsage:%n%n",
           descriptionHeading   = "%nDescription:%n%n",
  
negative.code: )
  class MainCommand { }
  
  @Command(name = "cmd3", subcommands = [
      GrandChild3Command1::class,
      GrandChild3Command2::class,
      GrandChild3Command3::class]
  )
  class ChildCommand3 { }
  
  @Command(name = "cmd3sub3", subcommands = [
      GreatGrandChild3Command3_1::class,
      GreatGrandChild3Command3_2::class]
  )
  