code: public void mark(int readAheadLimit) throws IOException {
          synchronized (lock) {
              super.mark(readAheadLimit);
              markedLineNumber = lineNumber;
              markedSkipLF     = skipLF;
          }
      }
docs: Mark the present position in the stream.  Subsequent calls to reset()
  will attempt to reposition the stream to this point, and will also reset
  the line number appropriately.
  
  @param  readAheadLimit
  Limit on the number of characters that may be read while still
  preserving the mark.  After reading this many characters,
  attempting to reset the stream may fail.
  
  @throws  IOException
  If an I/O error occurs