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);
        }