private OutboundTunnel CreateOutboundTunnel(IClient client, TunnelInfo prototype) { var config = new TunnelConfig( TunnelConfig.TunnelDirection.Outbound, TunnelConfig.TunnelPool.Client, prototype ?? CreateOutgoingTunnelChain(client)); var tunnel = (OutboundTunnel)TunnelMgr.CreateTunnel(this, config); if (tunnel != null) { TunnelMgr.AddTunnel(tunnel); client.AddOutboundPending(tunnel); PendingTunnels[tunnel] = client; } return(tunnel); }