code: public void setProxy(final JinxProxy proxyConfig) {
      if (proxyConfig == null) {
        System.clearProperty("http.proxyHost");
        System.clearProperty("http.proxyPort");
        System.clearProperty("https.proxyHost");
        System.clearProperty("https.proxyPort");
        this.proxy = Proxy.NO_PROXY;
      } else if (!JinxUtils.isNullOrEmpty(proxyConfig.getProxyHost())) {
        System.setProperty("http.proxyHost", proxyConfig.getProxyHost());
        System.setProperty("http.proxyPort", Integer.toString(proxyConfig.getProxyPort()));
        System.setProperty("https.proxyHost", proxyConfig.getProxyHost());
        System.setProperty("https.proxyPort", Integer.toString(proxyConfig.getProxyPort()));
        this.proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyConfig.getProxyHost(), proxyConfig.getProxyPort()));
        if (!JinxUtils.isNullOrEmpty(proxyConfig.getProxyUser())) {
          Authenticator authenticator = new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication() {
              return (new PasswordAuthentication(proxyConfig.getProxyUser(), proxyConfig.getProxyPassword()));
            }
          };
          Authenticator.setDefault(authenticator);
        }
      }
    }
docs: Set the proxy configuration for Jinx.
  <br>
  By default, Jinx will not use a proxy.
  <br>
  If there is a proxy configuration set, Jinx will use the proxy for all network operations. If the proxy
  configuration is null, Jinx will not attempt to use a proxy.
  
  @param proxyConfig network proxy configuration, or null to indicate no proxy.