/// <summary>
 /// Saves a property list with the given object as root into a GnuStep ASCII file.
 /// </summary>
 /// <param name="root">The root object.</param>
 /// <param name="outFile">The output file.</param>
 /// <exception cref="IOException">When an error occurs during the writing process.</exception>
 public static void SaveAsGnuStepASCII(NSDictionary root, FileInfo outFile)
 {
     string parent = outFile.DirectoryName;
     if (!Directory.Exists(parent))
         Directory.CreateDirectory(parent);
     using (Stream fous = outFile.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite))
     using (StreamWriter w = new StreamWriter(fous, Encoding.ASCII))
     {
         w.Write(root.ToGnuStepASCIIPropertyList());
     }
 }