protected override async Task <Dictionary <string, SlnFile> > ProcessImpl(Task <Solution> previousTask) { var slnObject = await previousTask; Contract.Assert(slnObject is Solution s && s != null, $"Expected previous task to return a Solution object, but found {slnObject} instead."); var solution = (Solution)slnObject; return(SolutionAnalyzer.AllSolutionFiles(solution, _workingDirectory)); }