@Override
        public boolean hasNext() {
            if (next != null) return true;
            Uuid result = null;
            do {
                if (!iterator.hasNext()) {
                    return false;
                }
                String next = iterator.next();
                TopicImage topicImage = image.getTopic(next);
                if (topicImage != null) {
                    result = topicImage.id();
                }
            } while (result == null);
            next = result;
            return true;
        }
TopicIds is initialized with topic names (String) but exposes a Set of topic ids (Uuid) to the
user and performs the conversion lazily with TopicsImage.
group-coordinator/src/main/java/org/apache/kafka/coordinator/group/modern/TopicIds.java