void ReloadCountryNames()
        {
            if (_map == null || _map.countries == null)
            {
                lastCountryCount = -1;
            }
            else
            {
                lastCountryCount = _map.countries.Length;
            }
            _decorator.GUICountryIndex = -1;
            List <string> all = new List <string> ();

            all.AddRange(_decorator.GetDecoratedCountries(_decorator.GUIGroupIndex, true));
            // recover GUI country index selection
            if (_decorator.GUICountryName.Length > 0)
            {
                for (int k = 0; k < all.Count; k++)
                {
                    if (all [k].StartsWith(_decorator.GUICountryName))
                    {
                        _decorator.GUICountryIndex = k;
                        break;
                    }
                }
            }
            if (all.Count > 0)
            {
                all.Add("---");
            }
            all.AddRange(_map.GetCountryNames(_decorator.groupByContinent));
            countryNames = all.ToArray();
        }