@Override
  public String getTooltip() {
    if (needCalculateTooltip()) {
      PsiElement element = getElement(this);
      tooltip = element == null ? null
                                : provider.getElementTooltip(element);
      provider = null; // do not try recalculate tooltip
      if (element != null) {
        UIEventLogger.BreadcrumbShowTooltip.log(element.getProject(), element.getLanguage());
      }
    }
    return tooltip;
  }
@Override
  public String getTooltip()