code: @Override
    public void write (final byte [] aBuf, final int nOfs, final int nLen) throws IOException
    {
      if (nLen >= m_aBuf.length)
      {
        /*
         * If the request length exceeds the size of the output buffer, flush the
         * output buffer and then write the data directly. In this way buffered
         * streams will cascade harmlessly.
         */
        _flushBuffer ();
        out.write (aBuf, nOfs, nLen);
        return;
      }
      if (nLen > m_aBuf.length - m_nCount)
        _flushBuffer ();
      System.arraycopy (aBuf, nOfs, m_aBuf, m_nCount, nLen);
      m_nCount += nLen;
    }
docs: Writes <code>len</code> bytes from the specified byte array starting at
  offset <code>off</code> to this buffered output stream.
  <p>
  Ordinarily this method stores bytes from the given array into this stream's
  buffer, flushing the buffer to the underlying output stream as needed. If
  the requested length is at least as large as this stream's buffer, however,
  then this method will flush the buffer and write the bytes directly to the
  underlying output stream. Thus redundant <code>BufferedOutputStream</code>s
  will not copy data unnecessarily.
  
  @param aBuf
  the data.
  @param nOfs
  the start offset in the data.
  @param nLen
  the number of bytes to write.
  @exception IOException
  if an I/O error occurs.