@Override
        public WebClient apply(SessionProtocol protocol, Endpoint endpoint) {
            final Map.Entry<SessionProtocol, Endpoint> key = Maps.immutableEntry(protocol, endpoint);
            final WebClient webClient =
                    cache.get(key, unused -> nonBaseClientFactory.apply(protocol, endpoint));
            checkState(webClient != null, "nonBaseClientFactory returned null.");
            return webClient;
        }
Returns a newly-created {@link Retrofit} based on the properties of this builder.
retrofit2/src/main/java/com/linecorp/armeria/client/retrofit2/ArmeriaRetrofitBuilder.java