void put(final MapDefinition mapDefinition,
             final Range<Long> keyRange,
             final StagingValue stagingValue) {

        LOGGER.trace("put({}, {}, {}", mapDefinition, keyRange, stagingValue);
        Objects.requireNonNull(mapDefinition);
        Objects.requireNonNull(keyRange);
        rangePooledKeyBuffer.clear();
        checkComplete();

        // Get (or create) the UID from the main ref store to save us having to do this
        // later in the main ref store write txn
        final UID mapUid = getOrCreateUid(mapDefinition);

        final RangeStoreKey rangeStoreKey = new RangeStoreKey(mapUid, keyRange);
        final UnSortedDupKey<RangeStoreKey> wrappedKey = rangeStoreKeyFactory.createUnsortedKey(rangeStoreKey);
        final ByteBuffer keyBuffer = rangePooledKeyBuffer.getByteBuffer();

        doPut(wrappedKey, keyBuffer, stagingValue, rangeValueStagingDb);
    }
Put an entry into the staging store. Entries with null values or duplicate keys will
all be stored.
stroom-pipeline/src/main/java/stroom/pipeline/refdata/store/offheapstore/OffHeapStagingStore.java