def add_target_topics(topics)
      topics = Set.new(topics)
      unless topics.subset?(@target_topics)
        new_topics = topics - @target_topics

        unless new_topics.empty?
          @logger.info "New topics added to target list: #{new_topics.to_a.join(', ')}"

          @target_topics.merge(new_topics)

          refresh_metadata!
        end
      end
    end
def add_target_topics(topics)
      topics = Set.new(topics)
      unless topics.subset?(@target_topics)
        new_topics = topics - @target_topics

        unless new_topics.empty?
          @logger.info "New topics added to target list: #{new_topics.to_a.join(', ')}"

          @target_topics.merge(new_topics)

          refresh_metadata!
        end
      end
    end
Initializes a Cluster with a set of seed brokers.

 The cluster will try to fetch cluster metadata from one of the brokers.

 @param seed_brokers [Array<URI>]
 @param broker_pool [Kafka::BrokerPool]
 @param logger [Logger]
 Adds a list of topics to the target list. Only the topics on this list will
 be queried for metadata.

 @param topics [Array<String>]
 @return [nil]