bool HandleEstablishConnection(IAsyncResult result)
            {
                this.connection = connectionPoolHelper.EndEstablishConnection(result);

                ChannelBindingUtility.TryAddToMessage(this.channel.channelBindingToken, this.message, false);

                IAsyncResult writeResult = StreamingConnectionHelper.BeginWriteMessage(this.message, this.connection, true, this.channel.settings, ref timeoutHelper, onWriteMessage, this);

                if (!writeResult.CompletedSynchronously)
                {
                    return(false);
                }

                return(HandleWriteMessage(writeResult));
            }