public Socket createSocket(String host, int port) throws IOException {
		// Replace host with proxy, if defined via lookup map or default
		// proxy...
		if (proxies != null) {
			String p = proxies.get(host).toString();
			if (p != null) {
				host = p;
			} else if (proxy != null)
				host = proxy;
		} else if (proxy != null) {
			host = proxy;
		}

		Socket s = new Socket();
		SocketAddress sa = new InetSocketAddress(host, port);
		try {
			s.connect(sa, timeoutMillis);
		} catch (IOException ioe) // timeout
		{
			throw ioe;
		}
		return s;
	}