code: private boolean advance(int tokens) {
  	while (buffer.size() < tokens && tokenizer.hasNext())
  	    buffer.add(tokenizer.next());
  	return buffer.size() >= tokens;
      }
docs: Advances the specified number of tokens in the stream and places them in
  the buffer.
  
  @param tokens the number of tokens to advance
  
  @return {@true} if the stream contained at least that many tokens, {@code
  false} if the stream contained fewer