/// <summary>
        /// Gets a <see cref="IEnumerable{CultureInfo}"/> containing <see cref="CultureInfo"/> instances from provided <code>requiredTranslations</code>
        /// which translations are not found in the provided <see cref="MarketDescriptionCacheItem"/>
        /// </summary>
        /// <param name="item">The <see cref="MarketDescriptionCacheItem"/> instance, or a null reference</param>
        /// <param name="requiredTranslations">The <see cref="IEnumerable{CultureInfo}"/> specifying the required languages</param>
        /// <returns>A <see cref="IEnumerable{CultureInfo}"/> containing missing translations or a null reference if none of the translations are missing</returns>
        private static IEnumerable <CultureInfo> GetMissingTranslations(MarketDescriptionCacheItem item, IEnumerable <CultureInfo> requiredTranslations)
        {
            Guard.Argument(requiredTranslations, nameof(requiredTranslations)).NotNull().NotEmpty();

            if (item == null)
            {
                return(requiredTranslations);
            }

            var missingCultures = requiredTranslations.Where(c => !item.HasTranslationsFor(c)).ToList();

            return(missingCultures.Any()
                       ? missingCultures
                       : null);
        }
        /// <summary>
        /// Gets a <see cref="IEnumerable{CultureInfo}"/> containing <see cref="CultureInfo"/> instances from provided <code>requiredTranslations</code>
        /// which translations are not found in the provided <see cref="MarketDescriptionCacheItem"/>
        /// </summary>
        /// <param name="item">The <see cref="MarketDescriptionCacheItem"/> instance, or a null reference</param>
        /// <param name="requiredTranslations">The <see cref="IEnumerable{CultureInfo}"/> specifying the required languages</param>
        /// <returns>A <see cref="IEnumerable{CultureInfo}"/> containing missing translations or a null reference if none of the translations are missing</returns>
        private static IEnumerable <CultureInfo> GetMissingTranslations(MarketDescriptionCacheItem item, IEnumerable <CultureInfo> requiredTranslations)
        {
            Contract.Requires(requiredTranslations != null && requiredTranslations.Any());

            if (item == null)
            {
                return(requiredTranslations);
            }

            var missingCultures = requiredTranslations.Where(c => !item.HasTranslationsFor(c)).ToList();

            return(missingCultures.Any()
                       ? missingCultures
                       : null);
        }