def subcommand(command = nil, &block)
      if command.nil?
        command = Cri::Command.define(&block)
      end

      @command.add_command(command)
    end
def subcommand(command = nil, &block)
      if command.nil?
        command = Cri::Command.define(&block)
      end

      @command.add_command(command)
    end
Creates a new DSL, intended to be used for building a single command. A
 {CommandDSL} instance is not reusable; create a new instance if you want
 to build another command.

 @param [Cri::Command, nil] command The command to modify, or nil if a
   new command should be created
 Adds a subcommand to the current command. The command can either be
 given explicitly, or a block can be given that defines the command.

 @param [Cri::Command, nil] command The command to add as a subcommand,
   or nil if the block should be used to define the command that will be
   added as a subcommand

 @return [void]