private ServiceLRUCache getPerThreadCache() {
        return mapOfServiceCache.computeIfAbsent(Thread.currentThread().getId(), (key) -> new ServiceLRUCache(maxSize));
    }
Returns the RPCServiceAddress that corresponds to a given pattern. This reuses the RPCService object for matching
pattern so that load balancing is possible on the network level.

@param pattern The pattern for the service we require.
@param mirror  The rpc service mirror.
@return A service address for the given pattern.
messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCServicePool.java