internal void AddSourceOperator<K, V>(string topic, string nameNode, ConsumedInternal<K, V> consumed) { if (string.IsNullOrEmpty(topic)) throw new TopologyException("You must provide at least one topic"); if (nodeFactories.ContainsKey(nameNode)) throw new TopologyException($"Source processor {nameNode} is already added."); if(sourcesTopics.Contains(topic)) { throw new TopologyException($"Topic {topic} has already been registered by another source."); } sourcesTopics.Add(topic); nodeFactories.Add(nameNode, new SourceNodeFactory<K, V>(nameNode, topic, consumed.TimestampExtractor, consumed.KeySerdes, consumed.ValueSerdes)); nodeGrouper.Add(nameNode); nodeGroups = null; }