public Coord GetRecommendRadarPosition(IEnumerable <Coord> futurRadarPositions) { var myRadarPositions = this.Radars.Select(radar => radar.Pos).ToList(); myRadarPositions.AddRange(futurRadarPositions); var recommendedRadarPositions = GetRecommendedRadarPositions(); foreach (var recommendedPosition in recommendedRadarPositions) { var positionHasAlreadyARadar = myRadarPositions.Any(p => p.Distance(recommendedPosition) == 0); var positionHasATrap = Traps.Any(trap => trap.Pos.Distance(recommendedPosition) == 0); if (positionHasAlreadyARadar || positionHasATrap) { //Go to next } else { return(recommendedPosition); } } return(recommendedRadarPositions[0]); }