protected override IAsyncResult OnBeginAcceptUpgrade(Stream stream, AsyncCallback callback, object state)
            {
                AcceptUpgradeAsyncResult result = new AcceptUpgradeAsyncResult(this, callback, state);

                result.Begin(stream);
                return(result);
            }
 protected override Stream OnEndAcceptUpgrade(IAsyncResult result,
                                              out SecurityMessageProperty remoteSecurity)
 {
     return(AcceptUpgradeAsyncResult.End(result, out remoteSecurity));
 }
 protected override Stream OnEndAcceptUpgrade(IAsyncResult result, out SecurityMessageProperty remoteSecurity)
 {
     return(AcceptUpgradeAsyncResult.End(result, out remoteSecurity, out this.channelBindingToken));
 }
 protected override IAsyncResult OnBeginAcceptUpgrade(Stream stream, AsyncCallback callback, object state)
 {
     AcceptUpgradeAsyncResult result = new AcceptUpgradeAsyncResult(this, callback, state);
     result.Begin(stream);
     return result;
 }