code: public void setProxyAuthenticationMethods(List<ProxyAuthenticationMethod> proxyAuthenticationMethods) {
          if(proxyAuthenticationMethods == null) {
              this.proxyAuthenticationMethods = null;
          } else {
              ValidationUtils.assertNotEmpty(proxyAuthenticationMethods, "proxyAuthenticationMethods");
              this.proxyAuthenticationMethods =
                      Collections.unmodifiableList(new ArrayList<ProxyAuthenticationMethod>(proxyAuthenticationMethods));
          }
      }
docs: Configure the list of authentication methods that should be used when authenticating against an HTTP proxy, in the order
  they should be attempted. Any methods not included in this list will not be attempted. If one authentication method fails,
  the next method will be attempted, until a working method is found (or all methods have been attempted).
  
  <p>Setting this value to null indicates using the default behavior, which is to try all authentication methods in an
  unspecified order.</p>
  
  @param proxyAuthenticationMethods The proxy authentication methods to be attempted, in the order they should be attempted.