public override IEnumerable<PlayerRecommendation> Analyse(Player player, Fixture fixture, SimulationContext context) { if (Mapper == null) throw new ArgumentException("Invalid property", nameof(Mapper)); var res = new PlayerRecommendation(); res.Type = PlayerRecommendationType.PlayerPosition; var valueMap = context.GeneratePlayerValueMap(player, fixture, this); //res.Points = Mapper.Test(valueMap).Sum(x => x.Points); var pointRanges = Mapper.Test(valueMap).ToList(); var pointMappers = pointRanges.Select(x => x.Mapper).ToList(); var pointMappings = pointMappers.SelectMany(x => x.Test(valueMap)).ToList(); res.Points = pointMappings.Sum(x => x.Points); yield return res; }