if (textHover instanceof IInformationProviderExtension2) // this is conceptually wrong, but left here for backwards compatibility
controlCreator= ((IInformationProviderExtension2)textHover).getInformationPresenterControlCreator();
IInformationProvider informationProvider= new FocusedInformationPresenter.InformationProvider(hoverRegion, hoverInfo, controlCreator);
FocusedInformationPresenter informationPresenter= getInformationPresenter();
informationPresenter.setOffset(offset);
informationPresenter.setAnchor(AbstractInformationControlManager.ANCHOR_BOTTOM);
informationPresenter.setMargins(6, 6); // default values from AbstractInformationControlManager
String contentType= TextUtilities.getContentType(sourceViewer.getDocument(), getSourceViewerConfiguration().getConfiguredDocumentPartitioning(getSourceViewer()), offset, true);
informationPresenter.setInformationProvider(informationProvider, contentType);
informationPresenter.showInformation();
return true;
} catch (BadLocationException e) {
return false;