public final void update(byte[] input, int offset, int len)
            throws IllegalStateException {
        chooseFirstProvider();
        if (initialized == false) {
            throw new IllegalStateException("MAC not initialized");
        }

        if (input != null) {
            if ((offset < 0) || (len > (input.length - offset)) || (len < 0))
                throw new IllegalArgumentException("Bad arguments");
            spi.engineUpdate(input, offset, len);
        }
    }
public final void update ( byte [ ] input , int offset , int len ) throws IllegalStateException { chooseFirstProvider ( ) ; if ( initialized == false ) { throw new IllegalStateException ( "MAC not initialized" ) ; } if ( input != null ) { if ( ( offset < 0 ) || ( len > ( input . length - offset ) ) || ( len < 0 ) ) throw new IllegalArgumentException ( "Bad arguments" ) ; spi . engineUpdate ( input , offset , len ) ; } }
Processes the first <code>len</code> bytes in <code>input</code>,
starting at <code>offset</code> inclusive.

@param input the input buffer.
@param offset the offset in <code>input</code> where the input starts.
@param len the number of bytes to process.

@exception IllegalStateException if this <code>Mac</code> has not been
initialized.