update(in[inOff]); inOff++; len--; }  while (len > xBuf.length) { System.arraycopy(in, inOff, xBuf, 0, xBuf.length);
    public void update(byte[] in, int inOff, int len)    {        while ((xBufOff != 0) && (len > 0))        {            update(in[inOff]);            inOff++;            len--;        }        while (len > xBuf.length)        {            System.arraycopy(in, inOff, xBuf, 0, xBuf.length);            sumByteArray(xBuf); // calc sum M            processBlock(xBuf, 0);            inOff += xBuf.length;            len -= xBuf.length;            byteCount += xBuf.length;        }        // load in the remainder.        while (len > 0)        {            update(in[inOff]);            inOff++;            len--;        }    }