@Override
    public List<ProcessingInfoResponse> listProcessingInfo(final int limit,
                                                           final Predicate<ProcessingInfoResponse> filter) {

        final LongAdder entryCounter = new LongAdder();

        final List<ProcessingInfoResponse> items = new ArrayList<>();

        LOGGER.logDurationIfDebugEnabled(
                () -> {
                    items.addAll(lmdbEnvironment.getWithReadTxn(readTxn ->
                            processingInfoDb.streamEntries(
                                    readTxn,
                                    KeyRange.all(),
                                    procInfoEntryStream ->
                                            procInfoEntryStream
                                                    .peek(refStoreEntry ->
                                                            entryCounter.increment())
                                                    .map(entry -> {
                                                        return buildProcessingInfoResponse(readTxn, entry);
                                                    })
                                                    .filter(filter)
                                                    .limit(limit)
                                                    .collect(Collectors.toList())
                            )));
                },
                () ->
                        LogUtil.message("Scanned over {} entries, returning {}",
                                entryCounter.sum(),
                                items.size()));
        return items;
    }
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