public static ServerItemCollection Read(string filename)
 {
     try
     {
         using (var stream = new FileStream(filename, FileMode.Open))
         {
             var items      = serializer.Deserialize(stream) as ServerInfo[];
             var collection = new ServerItemCollection(filename, items);
             return(collection);
         }
     }
     catch
     {
         return(new ServerItemCollection(filename));
     }
 }
        private void AddFromOldList(string filename)
        {
            var dirPath     = Path.GetDirectoryName(filename);
            var oldFileName = Path.Combine(dirPath, filename);

            if (File.Exists(oldFileName) == true)
            {
                var oldItems = ServerItemCollection.Read(oldFileName);

                foreach (var item in oldItems)
                {
                    base.Add(item);
                }

                return;
            }
        }