public static VersionedBytesStoreSupplier persistentVersionedKeyValueStore(final String name,
                                                                               final Duration historyRetention) {
        Objects.requireNonNull(name, "name cannot be null");
        final String hrMsgPrefix = prepareMillisCheckFailMsgPrefix(historyRetention, "historyRetention");
        final long historyRetentionMs = validateMillisecondDuration(historyRetention, hrMsgPrefix);
        if (historyRetentionMs < 0L) {
            throw new IllegalArgumentException("historyRetention cannot be negative");
        }
        return new RocksDbVersionedKeyValueBytesStoreSupplier(name, historyRetentionMs);
    }
@Test
    public void shouldCreateRocksDbVersionedStore() {
        final KeyValueStore<Bytes, byte[]> store = Stores.persistentVersionedKeyValueStore("store", ofMillis(1)).get();
        assertThat(store, instanceOf(VersionedBytesStore.class));
        assertThat(store.persistent(), equalTo(true));
    }