public static VsTemplateLaunchPoint Find(
     this IEnumerable<Lazy<ILaunchPoint>> launchPoints,
     IVsTemplateData templateData)
 {
     return launchPoints
         .Select(lazy => lazy.Value)
         .OfType<VsTemplateLaunchPoint>()
         .FirstOrDefault(launchPoint =>
                         string.Equals(launchPoint.Category, templateData.ProjectType, StringComparison.InvariantCultureIgnoreCase) &&
                         (string.Equals(launchPoint.Id, templateData.TemplateID, StringComparison.InvariantCultureIgnoreCase) ||
                          string.Equals(launchPoint.Name, templateData.Name.Value, StringComparison.InvariantCultureIgnoreCase)));
 }
 public static VsTemplateLaunchPoint Find(
     this IEnumerable <Lazy <ILaunchPoint> > launchPoints,
     IVsTemplateData templateData)
 {
     return(launchPoints
            .Select(lazy => lazy.Value)
            .OfType <VsTemplateLaunchPoint>()
            .FirstOrDefault(launchPoint =>
                            string.Equals(launchPoint.Category, templateData.ProjectType, StringComparison.InvariantCultureIgnoreCase) &&
                            (string.Equals(launchPoint.Id, templateData.TemplateID, StringComparison.InvariantCultureIgnoreCase) ||
                             string.Equals(launchPoint.Name, templateData.Name.Value, StringComparison.InvariantCultureIgnoreCase))));
 }