/** * Possibly compute the hover. Might return null * * @param hoverRegion * @param elements * @return */ private Object computeHover(IRegion hoverRegion, IJavaElement[] elements) { Object hover; hover = ReflectionUtils.executePrivateMethod( JavadocHover.class, "getHoverInfo", new Class[] { IJavaElement[].class, ITypeRoot.class, IRegion.class, JavadocBrowserInformationControlInput.class }, this, new Object[] {elements, getEditorInputJavaElement(), hoverRegion, null}); if (hover instanceof JavadocBrowserInformationControlInput && elements[0] instanceof IGroovyResolvedElement) { JavadocBrowserInformationControlInput input = (JavadocBrowserInformationControlInput) hover; hover = new JavadocBrowserInformationControlInput( (JavadocBrowserInformationControlInput) input.getPrevious(), input.getElement(), wrapHTML(input, (IGroovyResolvedElement) elements[0]), input.getLeadingImageWidth()); } return hover; }