public void updateMember(
        ClassicGroupMember member,
        JoinGroupRequestProtocolCollection protocols,
        int rebalanceTimeoutMs,
        int sessionTimeoutMs,
        CompletableFuture<JoinGroupResponseData> future
    ) {
        decrementSupportedProtocols(member);
        member.setSupportedProtocols(protocols);
        incrementSupportedProtocols(member);
        member.setRebalanceTimeoutMs(rebalanceTimeoutMs);
        member.setSessionTimeoutMs(sessionTimeoutMs);

        if (future != null && !member.isAwaitingJoin()) {
            numMembersAwaitingJoinResponse++;
        } else if (future == null && member.isAwaitingJoin()) {
            numMembersAwaitingJoinResponse--;
        }
        member.setAwaitingJoinFuture(future);
    }
Update a member.

@param member              the member.
@param protocols           the list of protocols.
@param rebalanceTimeoutMs  the rebalance timeout in milliseconds.
@param sessionTimeoutMs    the session timeout in milliseconds.
@param future              the future that is invoked once the join phase is complete.
group-coordinator/src/main/java/org/apache/kafka/coordinator/group/classic/ClassicGroup.java