public abstract AuthTicket_Resp ValidateTicket(AuthTicket_Req req);
 public override AuthTicket_Resp ValidateTicket(AuthTicket_Req req)
 {
     throw new NotImplementedException();
 }
 public abstract AuthTicket_Resp ValidateTicket(AuthTicket_Req req);
        public override AuthTicket_Resp ValidateTicket(AuthTicket_Req vtr)
        {
            Contract.Assume(vtr == GlobalObjects_base.AuthTicket_Req);

            ValidateTokenRequest req = (ValidateTokenRequest)vtr;

            AccessTokenEntry tokenEntry = (AccessTokenEntry)AccessTokenRecs.getEntry(req.access_token, req.client_id, req.UserID);

            if (req.client_id != tokenEntry.Realm || req.UserID != tokenEntry.UserID || tokenEntry.permissions.permissionSet.IsSupersetOf(req.scope.permissionSet) == false)
                return null;

            ValidateTokenResponse resp = (ValidateTokenResponse) Process_ValidateTicket(req, tokenEntry);
            CST_Ops.recordme(this, req, resp, false, false);

            return resp;
        }