code: @Override
    public void mark (final int nReadAheadLimit) throws IOException
    {
      ValueEnforcer.isGE0 (nReadAheadLimit, "ReadAheadLimit");
  
      _ensureOpen ();
      m_nMark = m_nNext;
    }
docs: Marks the present position in the stream. Subsequent calls to reset() will
  reposition the stream to this point.
  
  @param nReadAheadLimit
  Limit on the number of characters that may be read while still
  preserving the mark. Because the stream's input comes from a string,
  there is no actual limit, so this argument must not be negative, but
  is otherwise ignored.
  @exception IllegalArgumentException
  If readAheadLimit is &lt; 0
  @exception IOException
  If an I/O error occurs