public Task<IEnumerable<IProjectMetric>> Get(string solutionPath) { return _metrics.GetOrAdd( solutionPath, async path => { var solution = await _solutionProvider.Get(path); return await _metricsCalculator.Calculate(solution); }); }