/// <exception cref="Com.Google.Protobuf.ServiceException"/>
        public virtual SecurityProtos.CancelDelegationTokenResponseProto CancelDelegationToken
            (RpcController controller, SecurityProtos.CancelDelegationTokenRequestProto proto
            )
        {
            CancelDelegationTokenRequestPBImpl request = new CancelDelegationTokenRequestPBImpl
                                                             (proto);

            try
            {
                CancelDelegationTokenResponse response = real.CancelDelegationToken(request);
                return(((CancelDelegationTokenResponsePBImpl)response).GetProto());
            }
            catch (IOException e)
            {
                throw new ServiceException(e);
            }
        }
        /// <exception cref="System.IO.IOException"/>
        /// <exception cref="System.Exception"/>
        public override void Cancel <_T0>(Org.Apache.Hadoop.Security.Token.Token <_T0> token
                                          , Configuration conf)
        {
            Org.Apache.Hadoop.Yarn.Api.Records.Token dToken = Org.Apache.Hadoop.Yarn.Api.Records.Token
                                                              .NewInstance(token.GetIdentifier(), token.GetKind().ToString(), token.GetPassword
                                                                               (), token.GetService().ToString());
            MRClientProtocol histProxy = InstantiateHistoryProxy(conf, SecurityUtil.GetTokenServiceAddr
                                                                     (token));

            try
            {
                CancelDelegationTokenRequest request = Org.Apache.Hadoop.Yarn.Util.Records.NewRecord
                                                       <CancelDelegationTokenRequest>();
                request.SetDelegationToken(dToken);
                histProxy.CancelDelegationToken(request);
            }
            finally
            {
                StopHistoryProxy(histProxy);
            }
        }