public void updateValue(final Txn<ByteBuffer> writeTxn,
                            final K key,
                            final Consumer<ByteBuffer> valueBufferConsumer) {

        try (final PooledByteBuffer pooledKeyBuffer = getPooledKeyBuffer()) {
            final ByteBuffer keyBuffer = pooledKeyBuffer.getByteBuffer();
            serializeKey(keyBuffer, key);
            updateValue(writeTxn, keyBuffer, valueBufferConsumer);
        }
    }
Updates the value associated with the passed key using the valueBufferConsumer. A new {@link ByteBuffer}
will be created from the current value and passed to valueBufferConsumer to mutate. This mutated buffer
should be left in a state ready to be read, i.e. flipped.
This method is intended for cases where you want to modify the value based on its current value, or
you only want to modify part of it without (de)serialising the whole.
stroom-lmdb/src/main/java/stroom/lmdb/AbstractLmdbDb.java