public MultiAlignWorkspace Read(string path)
        {
            var workspace = new MultiAlignWorkspace();

            var document = new XmlDocument();
            document.Load(path);

            var element = document.SelectSingleNode("MultiAlignWorkspace");
            var data = element.SelectSingleNode("RecentAnalysis");
            workspace.RecentAnalysis = LoadRecent(data);

            return workspace;
        }
        public void Write(string path, MultiAlignWorkspace workspace)
        {
            var document = new XmlDocument();

            var element = document.CreateElement("MultiAlignWorkspace");
            document.AppendChild(element);

            var recent = document.CreateElement("RecentAnalysis");
            element.AppendChild(recent);

            WriteRecent(document, recent, workspace.RecentAnalysis);

            using (var writer = new XmlTextWriter(File.CreateText(path)))
            {
                writer.Formatting = Formatting.Indented;
                document.Save(writer);
                writer.Close();
            }
        }
        /// <summary>
        ///     Loads a current workspace.
        /// </summary>
        private void LoadWorkspace(string path)
        {
            if (path == null)
                return;

            if (File.Exists(path))
            {
                ApplicationStatusMediator.SetStatus("Loading workspace");
                var reader = new MultiAlignWorkspaceReader();
                try
                {
                    CurrentWorkspace = reader.Read(path);
                }
                catch
                {
                    ApplicationStatusMediator.SetStatus(string.Format("Could not load the default workspace: {0}"));
                }
            }
            else
            {
                CurrentWorkspace = new MultiAlignWorkspace();
            }
        }