public synchronized <K, V> KStream<K, V> stream(final Pattern topicPattern,
                                                    final Consumed<K, V> consumed) {
        Objects.requireNonNull(topicPattern, "topicPattern can't be null");
        Objects.requireNonNull(consumed, "consumed can't be null");
        return internalStreamsBuilder.stream(topicPattern, new ConsumedInternal<>(consumed));
    }
Create a {@link KStream} from the specified topic pattern.
The {@code "auto.offset.reset"} strategy, {@link TimestampExtractor}, key and value deserializers
are defined by the options in {@link Consumed} are used.
<p>
If multiple topics are matched by the specified pattern, the created {@link KStream} will read data from all of
them and there is no ordering guarantee between records from different topics. This also means that the work
will not be parallelized for multiple topics, and the number of tasks will scale with the maximum partition
count of any matching topic rather than the total number of partitions across all topics.
<p>
Note that the specified input topics must be partitioned by key.
If this is not the case it is the user's responsibility to repartition the data before any key based operation
(like aggregation or join) is applied to the returned {@link KStream}.

@param topicPattern  the pattern to match for topic names
@param consumed      the instance of {@link Consumed} used to define optional parameters
@return a {@link KStream} for topics matching the regex pattern.
streams/src/main/java/org/apache/kafka/streams/StreamsBuilder.java