/// <summary>
        /// Loads the NNTP server definitions.
        /// </summary>
        /// <returns></returns>
        public override List <NntpServerDefinition> LoadNntpServerDefinitions()
        {
            string fileName = NntpServerDefsFileName;

            if (File.Exists(fileName))
            {
                XmlSerializer serializer = XmlHelper.SerializerCache.GetSerializer(typeof(SerializableNntpServerDefinitions));
                using (Stream s = FileHelper.OpenForRead(fileName))
                {
                    SerializableNntpServerDefinitions root = (SerializableNntpServerDefinitions)serializer.Deserialize(s);
                    return(root.List);
                }
            }
            return(null);
        }
        /// <summary>
        /// Saves the NNTP server definitions.
        /// </summary>
        /// <param name="nntpServerDefinitions">The NNTP server definitions.</param>
        public override void SaveNntpServerDefinitions(List <NntpServerDefinition> nntpServerDefinitions)
        {
            string fileName = NntpServerDefsFileName;

            if (nntpServerDefinitions == null || nntpServerDefinitions.Count == 0)
            {
                if (File.Exists(fileName))
                {
                    FileHelper.Delete(fileName);
                }
                return;
            }

            XmlSerializer serializer = XmlHelper.SerializerCache.GetSerializer(typeof(SerializableNntpServerDefinitions));

            using (Stream s = FileHelper.OpenForWrite(fileName))
            {
                SerializableNntpServerDefinitions root = new SerializableNntpServerDefinitions();
                root.List = nntpServerDefinitions;
                serializer.Serialize(s, root);
            }
        }