@Override
    public synchronized ValueAndTimestamp<V> putIfAbsent(final K key,
                                                         final ValueAndTimestamp<V> value) {
        final ValueAndTimestamp<V> originalValue = get(key);
        if (originalValue == null) {
            put(key, value);
        }
        return originalValue;
    }
This class is a generic version of the in-memory key-value store that is useful for testing when you
 need a basic KeyValueStore for arbitrary types and don't have/want to write a serde
streams/src/test/java/org/apache/kafka/test/GenericInMemoryTimestampedKeyValueStore.java