/// <summary>
        /// Get region categories for specified locale.
        /// </summary>
        /// <param name="locale">Locale.</param>
        /// <returns>Region types for specified locale.</returns>
        protected virtual RegionCategoryList GetRegionCategories(ILocale locale)
        {
            RegionCategoryList regionCategories = null;

            if (RegionCategories.ContainsKey(locale))
            {
                regionCategories = (RegionCategoryList)(RegionCategories[locale]);
            }
            return(regionCategories);
        }
 /// <summary>
 /// Refresh cached data.
 /// </summary>
 /// <param name="userContext">User context.</param>
 protected override void RefreshCache(IUserContext userContext)
 {
     lock (RegionTypes)
     {
         RegionTypes.Clear();
     }
     lock (RegionCategories)
     {
         RegionCategories.Clear();
     }
 }
        /// <summary>
        /// Get region categories for specified locale.
        /// </summary>
        /// <param name="locale">Locale.</param>
        /// <returns>Region types for specified locale.</returns>
        protected override RegionCategoryList GetRegionCategories(ILocale locale)
        {
            RegionCategoryList regionCategories = null;

            lock (RegionCategories)
            {
                if (RegionCategories.ContainsKey(locale))
                {
                    regionCategories = (RegionCategoryList)(RegionCategories[locale]);
                }
            }
            return(regionCategories);
        }
 /// <summary>
 /// Refresh cached data.
 /// </summary>
 /// <param name="userContext">User context.</param>
 protected virtual void RefreshCache(IUserContext userContext)
 {
     RegionTypes.Clear();
     RegionCategories.Clear();
 }