public static void ShowIfValid(Document document, MonoDevelop.Ide.CodeCompletion.CodeCompletionContext completionContext) { var options = CodeGenerationOptions.CreateCodeGenerationOptions(document); var validGenerators = new List <ICodeGenerator> (); foreach (var generator in CodeGenerationService.CodeGenerators) { if (generator.IsValid(options)) { validGenerators.Add(generator); } } if (validGenerators.Count < 1) { return; } var window = new GenerateCodeWindow(options, completionContext); window.Populate(validGenerators); }