/// <summary>
        ///
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public ProfileHolder GetProfile(string name)
        {
            lock (_profiles)
            {
                var retVal = _profiles.FirstOrDefault(profile => profile.Name == name);

                if (retVal == null)
                {
                    retVal = new ProfileHolder(name);
                    retVal.ErrorOccurred += (s, e) => { if (this.ErrorOccurred != null)
                                                        {
                                                            this.ErrorOccurred(s, e);
                                                        }
                    };
                    _profiles.Add(retVal);

                    if (_allProfiles.Contains(name))
                    {
                        retVal.ReloadProfile();
                    }
                    else
                    {
                        _allProfiles.Add(name);
                    }
                }

                //return retVal.Clone();
                return(retVal);
            }
        }
        /// <summary>
        /// Create new profile folder
        /// </summary>
        /// <param name="name">Name profile</param>
        public void CreateNewProfile(string name)
        {
            if (_allProfiles.Contains(name))
            {
                return;
            }

            lock (_profiles)
            {
                var newProfile = new ProfileHolder(name);
                newProfile.ErrorOccurred += (s, e) => { if (this.ErrorOccurred != null)
                                                        {
                                                            this.ErrorOccurred(s, e);
                                                        }
                };
                _profiles.Add(newProfile);
            }

            _allProfiles.Add(name);
        }