@Override
    public void close() {
        try {
            log.debug("close started");

            try {
                log.debug("JWKS validation key refresh thread shutting down");
                executorService.shutdown();

                if (!executorService.awaitTermination(SHUTDOWN_TIMEOUT, SHUTDOWN_TIME_UNIT)) {
                    log.warn("JWKS validation key refresh thread termination did not end after {} {}",
                            SHUTDOWN_TIMEOUT, SHUTDOWN_TIME_UNIT);
                }
            } catch (InterruptedException e) {
                log.warn("JWKS validation key refresh thread error during close", e);
            }
        } finally {
            log.debug("close completed");
        }
    }
Creates a <code>RefreshingHttpsJwks</code> that will be used by the
{@link RefreshingHttpsJwksVerificationKeyResolver} to resolve new key IDs in JWTs.

@param time                     {@link Time} instance
@param httpsJwks                {@link HttpsJwks} instance from which to retrieve the JWKS
                                based on the OAuth/OIDC standard
@param refreshMs                The number of milliseconds between refresh passes to connect
                                to the OAuth/OIDC JWKS endpoint to retrieve the latest set
@param refreshRetryBackoffMs    Time for delay after initial failed attempt to retrieve JWKS
@param refreshRetryBackoffMaxMs Maximum time to retrieve JWKS
clients/src/main/java/org/apache/kafka/common/security/oauthbearer/internals/secured/RefreshingHttpsJwks.java