public static List<Tuple2<String, String>> buildTopicFilterTupleList(
            Map<String, TreeSet<String>> topicAndFiltersMap) {
        // initial send target
        List<Tuple2<String, String>> topicFilterTuples = new ArrayList<>();
        // initial topic send round
        for (Map.Entry<String, TreeSet<String>> entry : topicAndFiltersMap.entrySet()) {
            if (entry.getValue().isEmpty()) {
                topicFilterTuples.add(new Tuple2<>(entry.getKey()));
            } else {
                for (String filter : entry.getValue()) {
                    topicFilterTuples.add(new Tuple2<>(entry.getKey(), filter));
                }
            }
        }
        return topicFilterTuples;
    }
parse topic Parameter with format topic_1[,topic_2[:filterCond_2.1[;filterCond_2.2]]]
 topicParam->set(filterCond) map
@param topicParam - composite string
@return - map of topic->set(filterCond)
inlong-tubemq/tubemq-core/src/main/java/org/apache/inlong/tubemq/corebase/utils/MixedUtils.java