@Override
    public void transitionToJoining() {
        if (state == MemberState.FATAL) {
            log.warn("No action taken to join the group with the updated subscription because " +
                    "the member is in FATAL state");
            return;
        }
        if (reconciliationInProgress) {
            rejoinedWhileReconciliationInProgress = true;
        }
        resetEpoch();
        transitionTo(MemberState.JOINING);
        clearPendingAssignmentsAndLocalNamesCache();
    }
Transition to the {@link MemberState#JOINING} state, indicating that the member will
try to join the group on the next heartbeat request. This is expected to be invoked when
the user calls the subscribe API, or when the member wants to rejoin after getting fenced.
Visible for testing.
clients/src/main/java/org/apache/kafka/clients/consumer/internals/MembershipManagerImpl.java