public IAnnotation Create(VBAParser.AnnotationContext context, QualifiedSelection qualifiedSelection) { string annotationName = context.annotationName().GetText(); List<string> parameters = new List<string>(); var argList = context.annotationArgList(); if (argList != null) { parameters.AddRange(argList.annotationArg().Select(arg => arg.GetText())); } Type annotationCLRType = null; if (_creators.TryGetValue(annotationName.ToUpperInvariant(), out annotationCLRType)) { return (IAnnotation)Activator.CreateInstance(annotationCLRType, qualifiedSelection, parameters); } return null; }