if (paramHttpParams == null)
throw new IllegalArgumentException("Parameters may not be null");
if (paramOperatedClientConnection.isOpen())
throw new IllegalStateException("Connection must not be open");
Scheme localScheme = this.schemeRegistry.getScheme(paramHttpHost.getSchemeName());
SchemeSocketFactory localSchemeSocketFactory = localScheme.getSchemeSocketFactory();
InetAddress[] arrayOfInetAddress = resolveHostname(paramHttpHost.getHostName());
int i = localScheme.resolvePort(paramHttpHost.getPort());
for (int j = 0; j < arrayOfInetAddress.length; j++)
{
InetAddress localInetAddress = arrayOfInetAddress[j];
int k = j == arrayOfInetAddress.length - 1 ? 1 : 0;
Object localObject = localSchemeSocketFactory.createSocket(paramHttpParams);
paramOperatedClientConnection.opening((Socket)localObject, paramHttpHost);
HttpInetSocketAddress localHttpInetSocketAddress = new HttpInetSocketAddress(paramHttpHost, localInetAddress, i);
InetSocketAddress localInetSocketAddress = null;
if (paramInetAddress != null)
localInetSocketAddress = new InetSocketAddress(paramInetAddress, 0);
if (this.log.isDebugEnabled())
this.log.debug("Connecting to " + localHttpInetSocketAddress);
try
{
Socket localSocket = localSchemeSocketFactory.connectSocket((Socket)localObject, localHttpInetSocketAddress, localInetSocketAddress, paramHttpParams);
if (localObject != localSocket)
{
localObject = localSocket;
paramOperatedClientConnection.opening((Socket)localObject, paramHttpHost);
}
prepareSocket((Socket)localObject, paramHttpContext, paramHttpParams);
paramOperatedClientConnection.openCompleted(localSchemeSocketFactory.isSecure((Socket)localObject), paramHttpParams);
return;
}
catch (ConnectException localConnectException)
{
if (k != 0)