internal override void PrepareSave(ConfigurationElement parentElement, ConfigurationSaveMode mode)
        {
            var parent = (ConfigurationElementCollection)parentElement;

            base.PrepareSave(parentElement, mode);

            for (int n = 0; n < list.Count; n++)
            {
                ConfigurationElement elem = (ConfigurationElement)list [n];
                object key = GetElementKey(elem);
                ConfigurationElement pitem = parent != null?parent.BaseGet(key) as ConfigurationElement : null;

                elem.PrepareSave(pitem, mode);
            }
        }