code: public final void yyreset(java.io.Reader reader) {
      zzReader = reader;
      zzAtBOL  = true;
      zzAtEOF  = false;
      zzEOFDone = false;
      zzEndRead = zzStartRead = 0;
      zzCurrentPos = zzMarkedPos = 0;
      zzFinalHighSurrogate = 0;
      yyline = yychar = yycolumn = 0;
      zzLexicalState = YYINITIAL;
      if (zzBuffer.length > ZZ_BUFFERSIZE)
        zzBuffer = new char[ZZ_BUFFERSIZE];
    }
docs: Resets the scanner to read from a new input stream.
  Does not close the old reader.
  
  All internal variables are reset, the old input stream
  <b>cannot</b> be reused (internal buffer is discarded and lost).
  Lexical state is set to <tt>ZZ_INITIAL</tt>.
  
  Internal scan buffer is resized down to its initial length, if it has grown.
  
  @param reader   the new input stream