private void OnTranportShutdownComplete( object sender, EventArgs e )
{
var taskCompletionSource = Interlocked.CompareExchange( ref this._transportShutdownCompletionSource, null, this._transportShutdownCompletionSource );
if ( taskCompletionSource != null )
{
var transport = sender as ClientTransport;
transport.ShutdownCompleted -= this.OnTranportShutdownComplete;
taskCompletionSource.SetResult( null );
}
}