ClientBootstrap bootstrap = createClientBootstrap(socksProxyAddress);
bootstrap.setOptions(configBuilder.getOptions());
bootstrap.setOption("connectTimeoutMillis", (long) connectTimeout.toMillis());
bootstrap.setPipelineFactory(new NiftyClientChannelPipelineFactory(maxFrameSize));
ChannelFuture f = bootstrap.connect(addr);
f.await();
Channel channel = f.getChannel();
if (f.getCause() != null) {
String message = String.format("unable to connect to %s:%d %s",
addr.getHostName(),
addr.getPort(),