void OnTooltipProviderChanged(object s, ExtensionNodeEventArgs a)
        {
            TooltipProvider provider;

            try {
                var extensionNode = a.ExtensionNode as TooltipExtensionNode;
                allProviders.Add(extensionNode);
                if (extensionNode.IsValidFor(MimeType))
                {
                    return;
                }
                provider = (TooltipProvider)extensionNode.CreateInstance();
            } catch (Exception e) {
                LoggingService.LogError("Can't create tooltip provider:" + a.ExtensionNode, e);
                return;
            }
            if (a.Change == ExtensionChange.Add)
            {
                textEditorImpl.AddTooltipProvider(provider);
            }
            else
            {
                textEditorImpl.RemoveTooltipProvider(provider);
                provider.Dispose();
            }
        }