/// <summary>
        /// Get species activity categories for specified locale.
        /// </summary>
        /// <param name="locale">Locale.</param>
        /// <returns>Species activity categories for specified locale.</returns>
        protected virtual SpeciesActivityCategoryList GetSpeciesActivityCategories(ILocale locale)
        {
            SpeciesActivityCategoryList speciesActivityCategories = null;

            if (SpeciesActivityCategories.ContainsKey(locale.ISOCode))
            {
                speciesActivityCategories = (SpeciesActivityCategoryList)(SpeciesActivityCategories[locale.ISOCode]);
            }
            return(speciesActivityCategories);
        }
        /// <summary>
        /// Get species activity categories for specified locale.
        /// </summary>
        /// <param name="locale">Locale.</param>
        /// <returns>Species activity categories for specified locale.</returns>
        protected override SpeciesActivityCategoryList GetSpeciesActivityCategories(ILocale locale)
        {
            SpeciesActivityCategoryList speciesActivityCategories = null;

            lock (SpeciesActivityCategories)
            {
                if (SpeciesActivityCategories.ContainsKey(locale.ISOCode))
                {
                    speciesActivityCategories =
                        (SpeciesActivityCategoryList)(SpeciesActivityCategories[locale.ISOCode]);
                }
            }
            return(speciesActivityCategories);
        }