code: function(token) {
        if (Array.isArray(token)) {
          var tokens = /**@type {!Array.<number>}*/(token);
          while (tokens.length)
            this.tokens.push(tokens.pop());
        } else {
          this.tokens.push(token);
        }
      }
docs: When one or more tokens are prepended to a stream, those tokens
  must be inserted, in given order, before the first token in the
  stream.
  
  @param {(number|!Array.<number>)} token The token(s) to prepend to the
  stream.