/**
  * 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;
 }