code: private boolean routeMatchesAny(List<Route> candidates) {
      for (int i = 0, size = candidates.size(); i < size; i++) {
        Route candidate = candidates.get(i);
        if (candidate.proxy().type() == Proxy.Type.DIRECT
            && route.proxy().type() == Proxy.Type.DIRECT
            && route.socketAddress().equals(candidate.socketAddress())) {
          return true;
        }
      }
      return false;
    }
docs: Returns true if this connection's route has the same address as any of {@code routes}. This
  requires us to have a DNS address for both hosts, which only happens after route planning. We
  can't coalesce connections that use a proxy, since proxies don't tell us the origin server's IP
  address.