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