void WriteSolution(FilePath actualFile, FilePath outFile, Solution solution, IProgressMonitor monitor)
        {
            StreamWriter sw = new StreamWriter(outFile);

            try {
                monitor.BeginTask(GettextCatalog.GetString("Saving solution: {0}", actualFile), 1);
                XmlTextWriter tw = new XmlTextWriter(sw);
                tw.Formatting = Formatting.Indented;
                DataSerializer  serializer    = new DataSerializer(MD1ProjectService.DataContext, actualFile);
                CombineWriterV2 combineWriter = new CombineWriterV2(serializer, monitor, typeof(Solution));
                combineWriter.WriteCombine(tw, solution);
            } catch (Exception ex) {
                monitor.ReportError(GettextCatalog.GetString("Could not save solution: {0}", actualFile), ex);
                throw;
            } finally {
                monitor.EndTask();
                sw.Close();
            }
        }
		void WriteSolution (FilePath actualFile, FilePath outFile, Solution solution, IProgressMonitor monitor)
		{
			StreamWriter sw = new StreamWriter (outFile);
			try {
				monitor.BeginTask (GettextCatalog.GetString ("Saving solution: {0}", actualFile), 1);
				XmlTextWriter tw = new XmlTextWriter (sw);
				tw.Formatting = Formatting.Indented;
				DataSerializer serializer = new DataSerializer (MD1ProjectService.DataContext, actualFile);
				CombineWriterV2 combineWriter = new CombineWriterV2 (serializer, monitor, typeof(Solution));
				combineWriter.WriteCombine (tw, solution);
			} catch (Exception ex) {
				monitor.ReportError (GettextCatalog.GetString ("Could not save solution: {0}", actualFile), ex);
				throw;
			} finally {
				monitor.EndTask ();
				sw.Close ();
			}
		}