public synchronized <K, V> Topology addSink(final String name,
                                                final String topic,
                                                final Serializer<K> keySerializer,
                                                final Serializer<V> valueSerializer,
                                                final String... parentNames) {
        internalTopologyBuilder.addSink(name, topic, keySerializer, valueSerializer, null, parentNames);
        return this;
    }
Add a new sink that forwards records from upstream parent processor and/or source nodes to the named Kafka topic.
The sink will use the specified key and value serializers.

@param name the unique name of the sink
@param topic the name of the Kafka topic to which this sink should write its records
@param keySerializer the {@link Serializer key serializer} used when consuming records; may be null if the sink
should use the {@link StreamsConfig#DEFAULT_KEY_SERDE_CLASS_CONFIG default key serializer} specified in the
{@link StreamsConfig stream configuration}
@param valueSerializer the {@link Serializer value serializer} used when consuming records; may be null if the sink
should use the {@link StreamsConfig#DEFAULT_VALUE_SERDE_CLASS_CONFIG default value serializer} specified in the
{@link StreamsConfig stream configuration}
@param parentNames the name of one or more source or processor nodes whose output records this sink should consume
and write to its topic
@return itself
@throws TopologyException if parent processor is not added yet, or if this processor's name is equal to the parent's name
@see #addSink(String, String, String...)
@see #addSink(String, String, StreamPartitioner, String...)
@see #addSink(String, String, Serializer, Serializer, StreamPartitioner, String...)
streams/src/main/java/org/apache/kafka/streams/Topology.java