static void CloseChannelCallback(IAsyncResult result)
            {
                if (result.CompletedSynchronously)
                {
                    return;
                }
                SessionOperationAsyncResult self = (SessionOperationAsyncResult)result.AsyncState;
                Exception completionException    = null;

                try
                {
                    self.channel.EndClose(result);
                    self.OnOperationComplete();
                }
#pragma warning suppress 56500 // covered by FxCOP
                catch (Exception e)
                {
                    if (Fx.IsFatal(e))
                    {
                        throw;
                    }

                    completionException = e;
                    self.OnOperationFailure(completionException);
                }
                self.Complete(false, completionException);
            }
 protected override SecurityToken EndRenewTokenCore(IAsyncResult result)
 {
     return(SessionOperationAsyncResult.End(result));
 }
            public static SecurityToken End(IAsyncResult result)
            {
                SessionOperationAsyncResult self = AsyncResult.End <SessionOperationAsyncResult>(result);

                return(self.issuedToken);
            }