class KGroupedStreamImpl extends AbstractStream<K, V> implements KGroupedStream<K, V> {

    @Override
    public <W extends Window> TimeWindowedKStream<K, V> windowedBy(final Windows<W> windows) {

        return new TimeWindowedKStreamImpl<>(
            windows,
            builder,
            subTopologySourceNodes,
            name,
            keySerde,
            valueSerde,
            aggregateBuilder,
            streamsGraphNode
        );
    }

      KGroupedStreamImpl(final String name,
                       final Set<String> subTopologySourceNodes,
                       final GroupedInternal<K, V> groupedInternal,
                       final boolean repartitionRequired,
                       final StreamsGraphNode streamsGraphNode,
                       final InternalStreamsBuilder builder);

}