Description
In older released, Kafka Streams applied operator specific overwrites of Serdes as in-place overwrites. In newer releases, Kafka Streams tries to re-use Serdes more "aggressively" by pushing serde information downstream if the key and/or value did not change.
However, we never updated the JavaDocs accordingly. For example `KStream#through(String topic)` JavaDocs say:
Materialize this stream to a topic and creates a new {@code KStream} from the topic using default serializers, deserializers, and producer's {@link DefaultPartitioner}.
The JavaDocs don't put into account that Serdes might have been set further upstream, and the defaults from the config would not be used.
`KStream#through()` is just one example. We should address this through all JavaDocs over all operators (ie, KStream, KGroupedStream, TimeWindowedKStream, SessionWindowedKStream, KTable, and KGroupedTable.