protected override void FetchExportData()
        {
            // set arguments
            _args           = (ReviewExportArgs)Arguments;
            _attributeTable = new ColumnSetDataTable("AttributeData");
            if (_args.GenerateFileWithBlankValues)
            {
                _blankAttributeTable = new ColumnSetDataTable("AttributeBlanks");
            }
            InitDataTables();

            // get list of taxonomies to export
            var exportTaxonomyIds   = _args.TaxonomyIds;
            var exportTaxonomies    = CurrentDb.TaxonomyInfos.Where(p => exportTaxonomyIds.Contains(p.ID)).ToList();
            var allExportTaxonomies = exportTaxonomies.SelectMany(p => p.AllChildren).Union(exportTaxonomies).Distinct().ToList();

            foreach (var taxonomy in allExportTaxonomies)
            {
                ProcessTaxonomy(taxonomy);
            }

            // add tables to export list
            ExportDataTables.Add(_taxonomyTable);
            ExportDataTables.Add(_attributeTable);
            if (_args.GenerateFileWithBlankValues)
            {
                ExportDataTables.Add(_blankAttributeTable);
            }
        }