public final void update(ByteBuffer input) {
        if (input == null) {
            throw new NullPointerException();
        }
        engineUpdate(input);
        state = IN_PROGRESS;
    }
public final void update ( ByteBuffer input ) { if ( input == null ) { throw new NullPointerException ( ) ; } engineUpdate ( input ) ; state = IN_PROGRESS ; }
Update the digest using the specified ByteBuffer. The digest is
updated using the {@code input.remaining()} bytes starting
at {@code input.position()}.
Upon return, the buffer's position will be equal to its limit;
its limit will not have changed.

@param input the ByteBuffer
@since 1.5