code: public void write(byte[] b, int off, int len) throws IOException {
          out.write(b, off, len);
          cksum.update(b, off, len);
      }
docs: Writes an array of bytes. Will block until the bytes are
  actually written.
  @param b the data to be written
  @param off the start offset of the data
  @param len the number of bytes to be written
  @exception IOException if an I/O error has occurred