code: @Override
    public void write(byte []buffer, int offset, int length)
      throws IOException
    {
      while (length > 0) {
        if (_bufferEnd <= _offset) {
          flushBlock(false);
        }
  
        int sublen = Math.min(_bufferEnd - _offset, length);
  
        System.arraycopy(buffer, offset, _buffer, _offset, sublen);
  
        offset += sublen;
        _offset += sublen;
  
        length -= sublen;
      }
    }
docs: Writes a buffer.