code: public synchronized void write(byte[] buf, int off, int len)
          throws IOException
      {
          super.write(buf, off, len);
          crc.update(buf, off, len);
      }
docs: Writes array of bytes to the compressed output stream. This method
  will block until all the bytes are written.
  @param buf the data to be written
  @param off the start offset of the data
  @param len the length of the data
  @exception IOException If an I/O error has occurred.