public void GenerateTable()
 {
     Console.WriteLine(tableName);
     using (var file = File.CreateText(Path.Combine(xmlDirectory, string.Format("{0}.xml", tableName)))) {
         file.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
         file.WriteLine("<dataroot export_time=\"Mon 24. Oct 11:11:16 2011\" revision=\"34\" export_branch=\"C:/Official_Mod_Tools/binaries\" export_user=\"modder\">");
         file.Write("<edit_uuid>{0}</edit_uuid>", guid);
         for (int i = 0; i < 20; i++)
         {
             file.WriteLine("<{0}>", tableName);
             foreach (CaFieldInfo info in generateFor)
             {
                 string          value;
                 IValueGenerator generator = null;
                 if (info.Reference != null)
                 {
                     generator = referenceGenerator;
                     referenceGenerator.NextReferenceTarget = info.Reference.Field;
                 }
                 else
                 {
                     generator = generators[info.FieldType];
                 }
                 value = generator.NextValue(info.Name);
                 file.WriteLine("<{0}>{1}</{0}>", info.Name, value);
             }
             file.WriteLine("</{0}>", tableName);
         }
         file.WriteLine("</dataroot>");
     }
 }