protected void showJavaDocInfo(@NotNull PsiElement element,
                                 PsiElement original,
                                 boolean requestFocus,
                                 @Nullable Runnable closeCallback,
                                 @Nullable @Nls String documentation,
                                 boolean useStoredPopupSize,
                                 boolean onAutoUpdate) {
    if (!element.isValid()) {
      return;
    }

    PopupUpdateProcessor updateProcessor = new PopupUpdateProcessor(element.getProject()) {
      @Override
      public void updatePopup(Object lookupItemObject) {
        PsiElement psiElement = PSIPresentationBgRendererWrapper.toPsi(lookupItemObject);
        if (psiElement != null) {
          doShowJavaDocInfo(psiElement, requestFocus, this, original, null, null,
                            useStoredPopupSize, onAutoUpdate);
        }
      }
    };

    doShowJavaDocInfo(element, requestFocus, updateProcessor, original, closeCallback, documentation, useStoredPopupSize, onAutoUpdate);
  }
protected void showJavaDocInfo(@NotNull PsiElement element,
                                 PsiElement original,
                                 boolean requestFocus,
                                 @Nullable Runnable closeCallback,
                                 @Nullable @Nls String documentation,
                                 boolean useStoredPopupSize,
                                 boolean onAutoUpdate)