public synchronized RPCServiceAddress resolve() {
        if (addressGen != mirror.updates()) {
            addressGen = mirror.updates();
            addressList = mirror.lookup(pattern);
        }
        if (addressList != null && !addressList.isEmpty()) {
            ++addressIdx;
            if (addressIdx >= addressList.size()) {
                addressIdx = 0;
            }
            Mirror.Entry entry = addressList.get(addressIdx);
            return new RPCServiceAddress(entry.getName(), entry.getSpec());
        }
        return null;
    }
Resolve a concrete address from this service. This service may represent multiple remote sessions, so this will
select one that is online.

@return A concrete service address.
messagebus/src/main/java/com/yahoo/messagebus/network/rpc/NamedRPCService.java