public UserSelection(UserSelectionContext context)
 {
     Context = context;
 }
        private static void TrackTelemetry(TemplateType templateType, IEnumerable <GenInfo> genItems, Dictionary <string, TemplateCreationResult> genResults, double timeSpent, UserSelectionContext context)
        {
            try
            {
                var genItemsTelemetryData = new GenItemsTelemetryData(genItems);
                AppHealth.Current.Telemetry.TrackNewItemAsync(templateType, context, GenContext.ToolBox.Shell.GetProjectGuidByName(GenContext.Current.ProjectName), genItemsTelemetryData, timeSpent).FireAndForget();

                foreach (var genInfo in genItems.Where(g => g.Template != null))
                {
                    string resultsKey = $"{genInfo.Template.Identity}_{genInfo.Name}";
                    AppHealth.Current.Telemetry.TrackItemGenAsync(genInfo.Template, GenSourceEnum.NewItem, context, genResults[resultsKey]).FireAndForget();
                }
            }
            catch (Exception ex)
            {
                AppHealth.Current.Exception.TrackAsync(ex, StringRes.ErrorTrackTelemetryException).FireAndForget();
            }
        }