public static <K, V> StoreBuilder<KeyValueStore<K, V>> keyValueStoreBuilder(final KeyValueBytesStoreSupplier supplier,
                                                                                final Serde<K> keySerde,
                                                                                final Serde<V> valueSerde) {
        Objects.requireNonNull(supplier, "supplier cannot be null");
        return new KeyValueStoreBuilder<>(supplier, keySerde, valueSerde, Time.SYSTEM);
    }
Creates a {@link StoreBuilder} that can be used to build a {@link KeyValueStore}.
<p>
The provided supplier should <strong>not</strong> be a supplier for
{@link TimestampedKeyValueStore TimestampedKeyValueStores}.

@param supplier      a {@link KeyValueBytesStoreSupplier} (cannot be {@code null})
@param keySerde      the key serde to use
@param valueSerde    the value serde to use; if the serialized bytes is {@code null} for put operations,
                     it is treated as delete
@param <K>           key type
@param <V>           value type
@return an instance of a {@link StoreBuilder} that can build a {@link KeyValueStore}
streams/src/main/java/org/apache/kafka/streams/state/Stores.java