code: @Override
    public long skip (final long nBytes) throws IOException
    {
      ValueEnforcer.isGE0 (nBytes, "Bytes");
  
      _ensureOpen ();
      long nRest = nBytes;
      while (nRest > 0)
      {
        if (m_nNextCharIndex >= m_nChars)
          _fill ();
        if (m_nNextCharIndex >= m_nChars)
        {
          // EOF
          break;
        }
        if (m_bSkipLF)
        {
          m_bSkipLF = false;
          if (m_aBuf[m_nNextCharIndex] == '\n')
            m_nNextCharIndex++;
        }
        final int d = m_nChars - m_nNextCharIndex;
        if (nRest <= d)
        {
          m_nNextCharIndex += nRest;
          nRest = 0;
          break;
        }
        nRest -= d;
        m_nNextCharIndex = m_nChars;
      }
      return nBytes - nRest;
    }
docs: Skips characters.
  
  @param nBytes
  The number of characters to skip
  @return The number of characters actually skipped
  @exception IllegalArgumentException
  If <code>n</code> is negative.
  @exception IOException
  If an I/O error occurs