class KeyValueStoreBuilder extends AbstractStoreBuilder<K, V, KeyValueStore<K, V>> {

    @Override
    public KeyValueStore<K, V> build() {
        return new MeteredKeyValueStore<>(
            maybeWrapCaching(maybeWrapLogging(storeSupplier.get())),
            storeSupplier.metricsScope(),
            time,
            keySerde,
            valueSerde);
    }

    public  KeyValueStoreBuilder(final KeyValueBytesStoreSupplier storeSupplier,
                                final Serde<K> keySerde,
                                final Serde<V> valueSerde,
                                final Time time);

}