@Override
    public SessionStore<K, V> build() {
        return new MeteredSessionStore<>(
            maybeWrapCaching(maybeWrapLogging(storeSupplier.get())),
            storeSupplier.metricsScope(),
            keySerde,
            valueSerde,
            time);
    }
@Test
    public void shouldHaveCachingStoreWhenEnabled() {
        setUp();
        final SessionStore<String, String> store = builder.withCachingEnabled().build();
        final StateStore wrapped = ((WrappedStateStore) store).wrapped();
        assertThat(store, instanceOf(MeteredSessionStore.class));
        assertThat(wrapped, instanceOf(CachingSessionStore.class));
    }