willow-utils/src/main/java/com/btr/proxy/selector/pac/PacProxySelector.java
private List<Proxy> findProxy(URI uri) {
    try {
      List<Proxy> proxies = new ArrayList<Proxy>();
      String parseResult = this.pacScriptParser.evaluate(uri.toString(),
          uri.getHost());
      String[] proxyDefinitions = parseResult.split("[;]");
      for (String proxyDef : proxyDefinitions) {
        if (!StringUtils.isBlank(proxyDef)) {
          proxies.add(buildProxyFromPacResult(proxyDef));
        }
      }
      return proxies;
    } catch (ProxyEvaluationException e) {
      log.log(Level.INFO, "PAC resolving error.", e);
      return noProxyList();
    }
  }
private List<Proxy> findProxy(URI uri) {
    try {
      List<Proxy> proxies = new ArrayList<Proxy>();
      String parseResult = this.pacScriptParser.evaluate(uri.toString(),
          uri.getHost());
      String[] proxyDefinitions = parseResult.split("[;]");
      for (String proxyDef : proxyDefinitions) {
        if (!StringUtils.isBlank(proxyDef)) {
          proxies.add(buildProxyFromPacResult(proxyDef));
        }
      }
      return proxies;
    } catch (ProxyEvaluationException e) {
      log.log(Level.INFO, "PAC resolving error.", e);
      return noProxyList();
    }
  }
***********************************************************************
Evaluation of the given URL with the PAC-file.

Two cases can be handled here: DIRECT Fetch the object directly from the
content HTTP server denoted by its URL PROXY name:port Fetch the object via
the proxy HTTP server at the given location (name and port)

@param uri
<code>URI</code> to be evaluated.
@return <code>Proxy</code>-object list as result of the evaluation.
**********************************************************************