synchronized boolean groupSubscribe(Collection<String> topics) {
        if (!hasAutoAssignedPartitions())
            throw new IllegalStateException(SUBSCRIPTION_EXCEPTION_MESSAGE);
        groupSubscription = new HashSet<>(topics);
        return !subscription.containsAll(groupSubscription);
    }
Set the current group subscription. This is used by the group leader to ensure
that it receives metadata updates for all topics that the group is interested in.

@param topics All topics from the group subscription
@return true if the group subscription contains topics which are not part of the local subscription
clients/src/main/java/org/apache/kafka/clients/consumer/internals/SubscriptionState.java