long getDeadlineMsForTimeout(final long timeoutMs) {
        long expiration = time.milliseconds() + timeoutMs;
        if (expiration < 0) {
            return Long.MAX_VALUE;
        }
        return expiration;
    }
Reconcile the assignment that has been received from the server. If for some topics, the
topic ID cannot be matched to a topic name, a metadata update will be triggered and only
the subset of topics that are resolvable will be reconciled. Reconciliation will trigger the
callbacks and update the subscription state.

There are three conditions under which no reconciliation will be triggered:
 - We have already reconciled the assignment (the target assignment is the same as the current assignment).
 - Another reconciliation is already in progress.
 - There are topics that haven't been added to the current assignment yet, but all their topic IDs
   are missing from the target assignment.
clients/src/main/java/org/apache/kafka/clients/consumer/internals/MembershipManagerImpl.java