internal string CompareObservedDependencySummary(string header, ConcurrentDictionary <string, ObservedInputSummary> observedDependencySummary, ConcurrentDictionary <string, ObservedInputSummary> otherObservedDependencySummary)
        {
            var observedDifference = m_analyzer.GenerateObservedDifference(observedDependencySummary, otherObservedDependencySummary);

            if (observedDifference.fileArtifactChanges.Count == 0 && observedDifference.fileArtifactMissing.Count == 0)
            {
                return(string.Empty);
            }

            using (var output = new StringWriter(CultureInfo.InvariantCulture))
            {
                output.WriteLine(header);
                WriteArtifactDiffLine(observedDifference.fileArtifactChanges, output, string.Empty);
                WriteArtifactDiffLine(observedDifference.fileArtifactMissing, output, "missing, ");
                return(output.ToString());
            }
        }