protected virtual async Task <ApplicationCommonConfigurationCacheItem> GetCommonConfigurationCacheItemAsync()
        {
            var cacheKey = CalculateCacheKey();

            Logger.LogDebug($"RocketApplicationConfigurationAppService.GetCacheItemAsync: {cacheKey}");

            var cacheItem = await _commonConfigurationCache.GetAsync(cacheKey);

            if (cacheItem != null)
            {
                Logger.LogDebug($"Found in the cache: {cacheKey}");
                return(cacheItem);
            }

            Logger.LogDebug($"Not found in the cache, getting from the repository: {cacheKey}");

            cacheItem = new ApplicationCommonConfigurationCacheItem {
                Localization = await GetLocalizationConfigAsync()
            };

            Logger.LogDebug($"Setting the cache item: {cacheKey}");

            await _commonConfigurationCache.SetAsync(
                cacheKey,
                cacheItem
                );

            Logger.LogDebug($"Finished setting the cache item: {cacheKey}");

            return(cacheItem);
        }
 protected virtual string CalculateCacheKey()
 {
     return(ApplicationCommonConfigurationCacheItem.CalculateCacheKey());
 }