private String getReferenceDataValue(final Txn<ByteBuffer> readTxn,
                                         final String key,
                                         final ValueStoreKey valueStoreKey) {
        try {
            // As RefDataValue is just wrapping a buffer for the xml values, which is tied to the LMDB cursor
            // these two lines need to be done with nothing in between that would alter the cursor position
            final RefDataValue refDataValue = valueStore.get(readTxn, valueStoreKey)
                    .orElse(null);

            return refDataValueConverter.refDataValueToString(refDataValue);
        } catch (Exception e) {
            LOGGER.error("Error getting value for key " + key, e);

            // Return a value so the once bad value doesn't break the whole resultset
            return "[ERROR: " + e.getMessage() + "]";
        }
    }
For use in testing at SMALL scale. Dumps the content of each DB to the logger.
stroom-pipeline/src/main/java/stroom/pipeline/refdata/store/offheapstore/RefDataOffHeapStore.java