protected override IStorableContent LoadContent(string filename, out Info info)
        {
            bool             useOldPersistence = XmlParser.CanOpen(filename);
            IStorableContent content           = null;

            if (useOldPersistence)
            {
                var sw = new Stopwatch();
                sw.Start();
                content = XmlParser.Deserialize <IStorableContent>(filename);
                sw.Stop();
                info = new Info(filename, sw.Elapsed);
            }
            else
            {
                var ser = new ProtoBufSerializer();
                content = (IStorableContent)ser.Deserialize(filename, out SerializationInfo serInfo);
                info    = new Info(filename, serInfo);
            }
            if (content == null)
            {
                throw new PersistenceException($"Cannot deserialize root element of {filename}");
            }
            return(content);
        }