private CsvDocument TransformActual(CsvDocument document)
        {
            var columnIndexes = columnMapBuilder.GetColumnIndexMap(document.HeaderCells);

            var actualTransformer = factory.Build(columnIndexes);

            reporter.ReportStart(factory.Name);

            var result = transformerRunner.Transform(document, actualTransformer);

            reporter.ReportFinish(document, result);

            return(result);
        }
        public IRowMatchEvaluator Build(IDictionary <string, int> columnIndexes)
        {
            IRowMatchEvaluator instance = rowMatchEvaluatorFactory.Build(columnIndexes);

            return(new InvertedRowMatchEvaluator(instance));
        }