private @Nullable LightweightHint doShowTooltip(@NotNull Editor editor,
                                                  @NotNull Point p,
                                                  @NotNull TooltipRenderer tooltipRenderer,
                                                  boolean alignToRight,
                                                  @NotNull TooltipGroup group,
                                                  @NotNull HintHint hintInfo) {
    if (myCurrentTooltip == null || !myCurrentTooltip.isVisible()) {
      myCurrentTooltipObject = null;
    }

    if (Comparing.equal(tooltipRenderer, myCurrentTooltipObject)) {
      IdeTooltipManager.getInstance().cancelAutoHide();
      return null;
    }
    if (myCurrentTooltipGroup != null && group.compareTo(myCurrentTooltipGroup) < 0) return null;

    p = new Point(p);
    hideCurrentTooltip();

    LightweightHint hint = tooltipRenderer.show(editor, p, alignToRight, group, hintInfo);

    myCurrentTooltipGroup = group;
    myCurrentTooltip = hint;
    myCurrentTooltipObject = tooltipRenderer;

    return hint;
  }
private @Nullable LightweightHint doShowTooltip(@NotNull Editor editor,
                                                  @NotNull Point p,
                                                  @NotNull TooltipRenderer tooltipRenderer,
                                                  boolean alignToRight,
                                                  @NotNull TooltipGroup group,
                                                  @NotNull HintHint hintInfo)