public static StructuredDirectoryComparisonDifference FromDirectoryComparisonDifference(DirectoryComparisonDifference difference)
        {
            StructuredDirectoryComparisonDifference structuredDifference = new StructuredDirectoryComparisonDifference()
            {
                InvalidBaselineData  = difference.InvalidBaselineData,
                InvalidSecondaryData = difference.InvalidSecondaryData,
                FileResults          = difference.FileResults.Select(x => StructuredFileComparisonDifference.FromFileComparisonDifference(x)).ToList()
            };

            return(structuredDifference);
        }
        public static StructuredFileComparisonDifference FromFileComparisonDifference(FileComparisonDifference differences)
        {
            StructuredFileComparisonDifference structuredDifference = new StructuredFileComparisonDifference()
            {
                Filename = differences.Filename,
                HasDifferenceResolutionError = differences.HasDifferenceResolutionError,
                HasInvalidDifferences        = differences.AnyInvalidDifferences,
                BaselineOnlyDifferences      = differences.BaselineOnlyDifferences,
                SecondaryOnlyDifferences     = differences.SecondaryOnlyDifferences,
                FullyMatchedDifferences      = differences.PositionallyMatchedDifferences.Where(d => d.Disposition == PositionalComparisonDisposition.Match)
                                               .Select(m => StructuredPositionalComparisonDifference.FromPositionalComparisonDifference(m)).ToList(),
                PositionallyMatchedDifferencesWithIssues = differences.PositionallyMatchedDifferences.Where(d => d.Disposition != PositionalComparisonDisposition.Match)
                                                           .Select(m => StructuredPositionalComparisonDifference.FromPositionalComparisonDifference(m)).ToList(),
                MissingBaselineFile  = differences.MissingBaselineFile,
                MissingSecondaryFile = differences.MissingSecondaryFile
            };

            return(structuredDifference);
        }