@Override
  public void showHint(boolean requestFocus, boolean singleParameterInfo) {
    if (myHint.isVisible()) {
      JComponent myHintComponent = myHint.getComponent();
      myHintComponent.removeAll();
      hideHint();
      myHint = createHint();
    }

    mySingleParameterInfo = singleParameterInfo && myKeepOnHintHidden;

    int caretOffset = myEditor.getCaretModel().getOffset();
    Pair<Point, Short> pos = myProvider.getBestPointPosition(myHint, myParameterInfoControllerData.getParameterOwner(), caretOffset,
                                                             null, HintManager.ABOVE);
    @SuppressWarnings("MagicConstant")
    HintHint hintHint = HintManagerImpl.createHintHint(myEditor, pos.getFirst(), myHint, pos.getSecond());
    hintHint.setExplicitClose(true);
    hintHint.setRequestFocus(requestFocus);
    hintHint.setShowImmediately(true);
    if (!ExperimentalUI.isNewUI()) {
      hintHint.setBorderColor(ParameterInfoComponent.BORDER_COLOR);
      hintHint.setBorderInsets(JBUI.insets(4, 1, 4, 1));
      hintHint.setComponentBorder(JBUI.Borders.empty());
    }
    else {
      hintHint.setBorderInsets(JBUI.insets(8, 8, 10, 8));
    }

    int flags = HintManager.HIDE_BY_ESCAPE | HintManager.UPDATE_BY_SCROLLING;
    if (!singleParameterInfo && myKeepOnHintHidden) flags |= HintManager.HIDE_BY_TEXT_CHANGE;
    int finalFlags = flags;

    Editor editorToShow = InjectedLanguageEditorUtil.getTopLevelEditor(myEditor);

    //update presentation of descriptors synchronously
    myComponent.update(mySingleParameterInfo);

    // is case of injection we need to calculate position for EditorWindow
    // also we need to show the hint in the main editor because of intention bulb
    Runnable showHintCallback =
      () -> HintManagerImpl.getInstanceImpl().showEditorHint(myHint, editorToShow, pos.getFirst(), finalFlags, 0, false, hintHint);
    if (myComponent.isSetup()) {
      showHintCallback.run();
      myLateShowHintCallback = null;
    }
    else {
      myLateShowHintCallback = showHintCallback;
    }

    updateComponent();
  }
@Override
  public void showHint(boolean requestFocus, boolean singleParameterInfo)