code: @Override
  	public List<Proxy> select(final URI uri)
  	{
  		if (uri == null)
  		{
  			throw new IllegalArgumentException("Arguments can not be null.");
  		}
  		final String protocol = uri.getScheme();
  		if ("http".equalsIgnoreCase(protocol) || "https".equalsIgnoreCase(protocol))
  		{
  			final ArrayList<Proxy> proxyList = new ArrayList<>();
  			for (final ProxyDecorator p : proxies.values())
  			{
  				proxyList.add(p.getProxy());
  			}
  			return proxyList;
  		}
  		if (defaultSelector != null)
  		{
  			return defaultSelector.select(uri);
  		}
  		else
  		{
  			final ArrayList<Proxy> proxyList = new ArrayList<>();
  			proxyList.add(Proxy.NO_PROXY);
  			return proxyList;
  		}
  	}
docs: {@inheritDoc}