@Override
      public void updatePopup(Object lookupItemObject) {
        if (lookupItemObject == null) {
          doShowJavaDocInfo(elementFuture, false, this, originalElement, closeCallback,
                            CodeInsightBundle.message("no.documentation.found"),
                            true, onAutoUpdate);
          return;
        }
        PsiElement psiElement = PSIPresentationBgRendererWrapper.toPsi(lookupItemObject);
        if (psiElement != null) {
          doShowJavaDocInfo(psiElement, false, this, originalElement, closeCallback,
                            null, true, onAutoUpdate);
          return;
        }

        DocumentationProvider documentationProvider = getProviderFromElement(finalFile);

        PsiElement element = documentationProvider.getDocumentationElementForLookupItem(
          PsiManager.getInstance(myProject),
          lookupItemObject,
          originalElement
        );

        if (element == null) {
          doShowJavaDocInfo(elementFuture, false, this, originalElement, closeCallback,
                            CodeInsightBundle.message("no.documentation.found"),
                            true, onAutoUpdate);
          return;
        }

        if (myEditor != null) {
          PsiFile file = element.getContainingFile();
          if (file != null) {
            Editor editor = myEditor;
            showJavaDocInfo(myEditor, file, false);
            myEditor = editor;
          }
        }
        else {
          doShowJavaDocInfo(element, false, this, originalElement, closeCallback, null, true, onAutoUpdate);
        }
      }
@Override
      public void updatePopup(Object lookupItemObject)