public async Task <AnalysisResult> Run(string firstCommit, string lastCommit)
        {
            var solution = await _solutionProvider.GetSolution();

            var modifiedDocumentsNames = await _commitScanner.GetModifiedDocuments(firstCommit, lastCommit);

            var documentsAffected = solution.Projects.SelectMany(p => p.Documents)
                                    .Where(doc => modifiedDocumentsNames.Any(m => doc.FilePath.Contains(m)));

            var usages = await _analyzer.FindAffectedEndpoints(documentsAffected, solution);

            return(new AnalysisResult()
            {
                CompletedAt = DateTime.UtcNow,
                AffectedEndpoints = usages.ToArray(),
            });
        }