code: function CliRequisition(env, options) {
      Requisition.call(this, env);
  
      if (options && options.flags) {
          /**
           * TODO: We were using a default of keyboard.buildFlags({ });
           * This allowed us to have commands that only existed in certain contexts
           * - i.e. Javascript specific commands.
           */
          this.flags = options.flags;
      }
  }
docs: An object used during command line parsing to hold the various intermediate
  data steps.
  <p>The 'output' of the update is held in 2 objects: input.hints which is an
  array of hints to display to the user. In the future this will become a
  single value.
  <p>The other output value is input.requisition which gives access to an
  args object for use in executing the final command.
  
  <p>The majority of the functions in this class are called in sequence by the
  constructor. Their task is to add to <tt>hints</tt> fill out the requisition.
  <p>The general sequence is:<ul>
  <li>_tokenize(): convert _typed into _parts
  <li>_split(): convert _parts into _command and _unparsedArgs
  <li>_assign(): convert _unparsedArgs into requisition
  </ul>
  
  @param typed {string} The instruction as typed by the user so far
  @param options {object} A list of optional named parameters. Can be any of:
  <b>flags</b>: Flags for us to check against the predicates specified with the
  commands. Defaulted to <tt>keyboard.buildFlags({ });</tt>
  if not specified.
  @constructor