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); } }