code: @Override
    public long skip (final long nCharsToSkip) throws IOException
    {
      _ensureOpen ();
      if (m_nNext >= m_nLength)
        return 0;
      // Bound skip by beginning and end of the source
      long n = Math.min ((long) m_nLength - m_nNext, nCharsToSkip);
      n = Math.max (-m_nNext, n);
      m_nNext += n;
      return n;
    }
docs: Skips the specified number of characters in the stream. Returns the number
  of characters that were skipped.
  <p>
  
  @param nCharsToSkip
  The parameter may be negative, even though the <code>skip</code>
  method of the {@link Reader} superclass throws an exception in this
  case. Negative values of the parameter cause the stream to skip
  backwards. Negative return values indicate a skip backwards. It is
  not possible to skip backwards past the beginning of the string.
  @return If the entire string has been read or skipped, then this method has
  no effect and always returns 0.
  @exception IOException
  If an I/O error occurs