public IEnumerable <IUnitTemplate> GetCuttingEdgeUnitsForCiv(ICivilization civ)
        {
            return(AllUpgradeLines.Select(
                       line => line.Units.LastOrDefault(unitTemplate => TechCanon.IsUnitResearchedForCiv(unitTemplate, civ))

                       ).Where(line => line != null).Distinct());
        }