@Override
  public void append(@NotNull String fragment, @NotNull SimpleTextAttributes attributes, Object tag) {
    if (tag instanceof XDebuggerTreeNodeHyperlink tagValue && tagValue.alwaysOnScreen()) {
      myHaveLink = true;
      myLink.append(fragment, attributes, tag);

      Icon icon = tagValue.getLinkIcon();
      if (icon != null) {
        myLink.setIcon(icon);
      }

      String tooltipText = tagValue.getLinkTooltip();
      if (tooltipText != null) {
        myLink.setToolTipText(tooltipText);

        Supplier<String> shortcutSupplier = tagValue.getShortcutSupplier();
        if (shortcutSupplier != null) {
          myLinkShortcutSupplier = shortcutSupplier;
          ClientProperty.put(myTree, HelpTooltipManager.SHORTCUT_PROPERTY, myLinkShortcutSupplier);
        }
      }
    }
    else {
      super.append(fragment, attributes, tag);
    }
  }
@Override
  public void append(@NotNull String fragment, @NotNull SimpleTextAttributes attributes, Object tag)