public void close(final Duration timeout) {
        Objects.requireNonNull(timeout, "Close timeout for consumer network thread must be non-null");

        closer.close(
                () -> closeInternal(timeout),
                () -> log.warn("The consumer network thread was already closed")
        );
    }
Returns the delay for which the application thread can safely wait before it should be responsive
to results from the request managers. For example, the subscription state can change when heartbeats
are sent, so blocking for longer than the heartbeat interval might mean the application thread is not
responsive to changes.

Because this method is called by the application thread, it's not allowed to access the request managers
that actually provide the information. As a result, the consumer network thread periodically caches the
information from the request managers and this can then be read safely using this method.

@return The maximum delay in milliseconds
clients/src/main/java/org/apache/kafka/clients/consumer/internals/ConsumerNetworkThread.java