RefreshingAddressResolverGroup build(EventLoopGroup eventLoopGroup) {
        ToLongFunction<String> autoRefreshTimeoutFunction = this.autoRefreshTimeoutFunction;
        Backoff autoRefreshBackoff = this.autoRefreshBackoff;
        if (!autoRefresh && (autoRefreshTimeoutFunction != null || autoRefreshBackoff != null)) {
            throw new IllegalStateException("Can't set 'autoRefreshTimeout()' or 'autoRefreshBackoff()' " +
                                            "if 'autoRefresh' is disabled");
        }

        if (autoRefresh) {
            if (autoRefreshTimeoutFunction == null) {
                autoRefreshTimeoutFunction = DEFAULT_AUTO_REFRESH_TIMEOUT_FUNCTION;
            }
            if (autoRefreshBackoff == null) {
                autoRefreshBackoff = Backoff.ofDefault();
            }
        }
        return new RefreshingAddressResolverGroup(cacheSpec(), negativeTtl(), resolvedAddressTypes,
                                                  maybeCreateDnsCache(), autoRefresh,
                                                  autoRefreshBackoff, autoRefreshTimeoutFunction,
                                                  searchDomains(), ndots(), queryTimeoutMillis(),
                                                  hostsFileEntriesResolver(),
                                                  buildConfigurator(eventLoopGroup));
    }
Sets the timeout in milliseconds after which a refreshing {@link DnsRecord} should expire.
If this option is unspecified and {@link #enableAutoRefresh(boolean)} is set to
{@code true}, a cached {@link DnsRecord} is automatically refreshed until the {@link ClientFactory}
is closed. {@code 0} disables the timeout.
core/src/main/java/com/linecorp/armeria/client/DnsResolverGroupBuilder.java