public HttpRoute determineRoute(HttpHost target, HttpRequest request, HttpContext context) throws HttpException { if (proxyRouteMap != null) { HttpRoute targetRoute = proxyRouteMap.get(target); if (targetRoute != null) { return targetRoute; } } HttpRoute route = super.determineRoute(target, request, context); if (defaultProxyHosts != null && defaultProxyHosts.length > 0) { HttpHost targetHost = route.getTargetHost(); InetAddress local = route.getLocalAddress(); boolean secure = route.isSecure(); TunnelType tunnelType = route.getTunnelType(); LayerType layerType = route.getLayerType(); route = new HttpRoute(targetHost, local, defaultProxyHosts, secure, tunnelType, layerType); } return route; }