code: public void update(byte[] buf, int off, int len) {
          int c = ~crc;
          while (--len >= 0)
              c = crc_table[(c ^ buf[off++]) & 0xff] ^ (c >>> 8);
          crc = ~c;
      }
docs: Adds the byte array to the data checksum.
  
  @param buf the buffer which contains the data
  @param off the offset in the buffer where the data starts
  @param len the length of the data