public IKTable <Windowed <K>, V> Reduce(Reducer <V> reducer, Materialized <K, V, WindowStore <Bytes, byte[]> > materialized, string named = null) { CheckIfParamNull(reducer, "reducer"); materialized = materialized ?? Materialized <K, V, WindowStore <Bytes, byte[]> > .Create(); if (materialized.KeySerdes == null) { materialized.WithKeySerdes(KeySerdes); } if (materialized.ValueSerdes == null) { materialized.WithValueSerdes(ValueSerdes); } string name = new Named(named).OrElseGenerateWithPrefix(builder, KGroupedStream.REDUCE_NAME); materialized.UseProvider(builder, KGroupedStream.REDUCE_NAME); var aggSupplier = new KStreamWindowAggregate <K, V, V, W>( windowOptions, materialized.StoreName, () => default,