code: @Override
    public synchronized String getScriptContent() throws IOException {
      if (this.scriptContent == null || this.expireAtMillis > 0
          && this.expireAtMillis < System.currentTimeMillis()) {
        ProxySelector old = ProxySelector.getDefault();
        try {
          // Reset it again with next download we should get a new expire info
          this.expireAtMillis = 0;
          ProxySelector.setDefault(new ProxySelector() {
            @Override
            public List<Proxy> select(URI uri) {
              return Arrays.asList(Proxy.NO_PROXY);
            }
            @Override
            public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
            }
          });
          this.scriptContent = readPacFileContent(this.scriptUrl);
        } finally {
          ProxySelector.setDefault(old);
        }
      }
      return this.scriptContent;
    }
docs: ***********************************************************************
  getScriptContent
  
  @see com.btr.proxy.selector.pac.PacScriptSource#getScriptContent()
  **********************************************************************