public Optional<ByteBuffer> getAsBytes(Txn<ByteBuffer> txn, final ByteBuffer keyBuffer) {
        try {
            final ByteBuffer valueBuffer = lmdbDbi.get(txn, keyBuffer);
            if (LOGGER.isTraceEnabled()) {
                LOGGER.trace("Get returned value [{}] for key [{}]",
                        ByteBufferUtils.byteBufferInfo(valueBuffer),
                        ByteBufferUtils.byteBufferInfo(keyBuffer));
            }

            return Optional.ofNullable(valueBuffer);
        } catch (RuntimeException e) {
            throw new RuntimeException(LogUtil.message("Error getting value for key [{}]",
                    ByteBufferUtils.byteBufferInfo(keyBuffer)), e);
        }
    }
Get the bytes of the value for the given key buffer. The returned {@link ByteBuffer} should ONLY
by used while still inside the passed {@link Txn}, so if you need its contents outside of the
txn you MUST copy it.
stroom-lmdb/src/main/java/stroom/lmdb/AbstractLmdbDb.java