code: function(cmdargs, options) {
      if (!cmdargs) {
        return
      }
  
      var subcommand = undefined
  
      // transform options if subcommand is present
      if (typeof options[0] !== 'undefined') {
        // unalias the potential subcommand
        subcommand = cmdargs.__commandNames[options[0]]
        // check if the first positional is actually a subcommand
        if (subcommand in cmdargs) {
          // if so, namespace its options
          options[subcommand] = {
            property: cmdargs[subcommand].property ? true : false
          }
          // nest subcommand options if there are any
          var properties = ['options', 'option', 'cmdargs']
          properties.forEach(function(key) {
            if (key in cmdargs[subcommand]) {
              for (var subcommandOption in cmdargs[subcommand][key]) {
                if (subcommandOption in options) {
                  options[subcommand][subcommandOption] = options[subcommandOption]
                  delete options[subcommandOption]
                }
              }
            }
          })
          var processEnvironmentVariables = cmdargs[subcommand].processEnvironmentVariables
          options[subcommand].processEnvironmentVariables =
            _.isUndefined(processEnvironmentVariables) ? true : processEnvironmentVariables
        }
      }
  
      return subcommand
    }
docs: ***************************************************************************
  @method _configureSubcommand
  @description Transforms "options" by nesting subcommand specific options under
  "options[subcommand]" if a subcommand is present and returns the
  subcommand name
  @param {Object} cmdargs -- The command line argument definition
  @param {Object} options -- The parsed command line arguments
  @returns {string}
  @ignore