docs: public byte readByte () throws IOException
    {
      // Buffer depleted ?
      if (m_nHead == m_nTail)
      {
        m_nHead = 0;
        // Refill.
        m_nTail = m_aIS.read (m_aBuffer, m_nHead, m_nBufSize);
        if (m_nTail == -1)
        {
          // No more data available.
          throw new IOException ("No more data is available");
        }
        if (m_aNotifier != null)
        {
          m_aNotifier.noteBytesRead (m_nTail);
        }
      }
      return m_aBuffer[m_nHead++];
    }