code: @Override
    public int read () throws IOException
    {
      if (m_nPos >= m_nCount)
      {
        _fill ();
        if (m_nPos >= m_nCount)
          return -1;
      }
      return _getBufIfOpen ()[m_nPos++] & 0xff;
    }
docs: See the general contract of the <code>read</code> method of
  <code>InputStream</code>.
  
  @return the next byte of data, or <code>-1</code> if the end of the stream
  is reached.
  @exception IOException
  if this input stream has been closed by invoking its
  {@link #close()} method, or an I/O error occurs.