private bool UpdateCache()
        {
            Dictionary <string, bool> featureToggles;

            try
            {
                featureToggles = _featureToggleProvider.Get().ToDictionary(x => x.Key, x => x.Value);
            }
            catch (Exception ex)
            {
                if (CacheUpdateFailed != null)
                {
                    CacheUpdateFailed(this, new CacheUpdateFailedArgs(ex));
                }
                return(false);
            }

            var updates = GetUpdates(_cache, featureToggles);

            _cache = featureToggles;
            if (CacheUpdated != null)
            {
                CacheUpdated(this, new CacheUpdatedArgs(updates));
            }
            return(true);
        }