class Materialized {

    public static <K, V, S extends StateStore> Materialized<K, V, S> as(final String storeName) {
        Named.validate(storeName);
        return new Materialized<>(storeName);
    }

    private  Materialized(final StoreSupplier<S> storeSupplier);
    private  Materialized(final String storeName);
    protected  Materialized(final Materialized<K, V, S> materialized);

}