private void addRangeValueDataToMockReferenceDataLoader(
            final DocRef pipelineRef,
            final EffectiveMetaSet effectiveStreams,
            final List<Tuple3<String, Range<Long>, String>> mapRangeValueTuples,
            final Map<RefStreamDefinition, Runnable> mockLoaderActions) {

        for (EffectiveMeta effectiveStream : effectiveStreams) {

            RefStreamDefinition refStreamDefinition = new RefStreamDefinition(
                    pipelineRef, pipelineStore.readDocument(pipelineRef).getVersion(), effectiveStream.getId());


            mockLoaderActions.put(refStreamDefinition, () -> {
                refDataStore.doWithLoaderUnlessComplete(
                        refStreamDefinition, effectiveStream.getEffectiveMs(), refDataLoader -> {

                            refDataLoader.initialise(false);
                            for (Tuple3<String, Range<Long>, String> mapKeyValueTuple : mapRangeValueTuples) {
                                String mapName = mapKeyValueTuple._1();
                                Range<Long> range = mapKeyValueTuple._2();
                                String value = mapKeyValueTuple._3();
                                MapDefinition mapDefinition = new MapDefinition(refStreamDefinition, mapName);
                                doLoaderPut(refDataLoader, mapDefinition, range, StringValue.of(value));
                            }
                            refDataLoader.completeProcessing();
                        });
            });
        }
    }
Make sure that it copes with a map not being in an early stream but is in a later one.
stroom-app/src/test/java/stroom/pipeline/refdata/TestReferenceData.java