public void DeleteRefreshToken(string cacheKey, RequestContext requestContext)
        {
            var cacheEvent = new CacheEvent(CacheEvent.TokenCacheDelete)
            {
                TokenType = CacheEvent.TokenTypes.RT
            };

            Client.Telemetry.GetInstance().StartEvent(requestContext.TelemetryRequestId, cacheEvent);
            try
            {
                DeleteRefreshToken(cacheKey);
            }
            finally
            {
                Client.Telemetry.GetInstance().StopEvent(requestContext.TelemetryRequestId, cacheEvent);
            }
        }
        // The content of this class has to be placed outside of its base class TokenCacheAccessor,
        // otherwise we would have to modify multiple implementations of TokenCacheAccessor on different platforms.
        public void SaveAccessToken(string cacheKey, string item, RequestContext requestContext)
        {
            var cacheEvent = new CacheEvent(CacheEvent.TokenCacheWrite)
            {
                TokenType = CacheEvent.TokenTypes.AT
            };

            Client.Telemetry.GetInstance().StartEvent(requestContext.TelemetryRequestId, cacheEvent);
            try
            {
                SaveAccessToken(cacheKey, item);
            }
            finally
            {
                Client.Telemetry.GetInstance().StopEvent(requestContext.TelemetryRequestId, cacheEvent);
            }
        }