public static void Publish(this SourceTable source, folderNode outputFolder, ExtractionResultPublishFlags flags, String filename_prefix = "", aceAuthorNotation notation = null)
        {
            if (source == null)
            {
                return;
            }

            var sourcep = outputFolder.pathFor(filename_prefix + "_source.xml", imbSCI.Data.enums.getWritableFileMode.autoRenameThis, "Exported source table");

            if (flags.HasFlag(ExtractionResultPublishFlags.sourceTableSerialization))
            {
                source.Save(sourcep);
            }

            String fl = Path.GetFileNameWithoutExtension(sourcep);

            if (flags.HasFlag(ExtractionResultPublishFlags.sourceTableExcel))
            {
                source.GetDataTable().GetReportAndSave(outputFolder, notation, fl);
            }

            source.ExpandedData.SaveObjectPairs(filename_prefix + "_data", outputFolder);
        }