void (@NotNull String fragment, @NotNull SimpleTextAttributes attributes, Object tag) { if (tag instanceof XDebuggerTreeNodeHyperlink tagValue && ((XDebuggerTreeNodeHyperlink)tag).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); } }