void put(final MapDefinition mapDefinition,
             final String key,
             final StagingValue stagingValue) {

        LOGGER.trace("put({}, {}, {}", mapDefinition, key, stagingValue);
        Objects.requireNonNull(mapDefinition);
        Objects.requireNonNull(key);
        keyPooledKeyBuffer.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 KeyValueStoreKey keyValueStoreKey = new KeyValueStoreKey(mapUid, key);
        final UnSortedDupKey<KeyValueStoreKey> wrappedKey = keyValueStoreKeyFactory.createUnsortedKey(keyValueStoreKey);
        final ByteBuffer keyBuffer = keyPooledKeyBuffer.getByteBuffer();

        doPut(wrappedKey, keyBuffer, stagingValue, keyValueStagingDb);
    }
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