@Override
  public void append(@Nls @NotNull String fragment, @NotNull SimpleTextAttributes attributes, boolean isMainText) {
    Object tag = myAppendingTag ? null : getTag(fragment);
    if (tag == null) {
      super.append(fragment, attributes, isMainText);
      return;
    }

    boolean isActive = mySelected || tag.equals(ComponentUtil.getClientProperty(myTree, ACTIVE_TAG));
    int linkStyle = getLinkStyle(attributes, isActive);
    Color linkColor = getLinkColor(isActive);
    myAppendingTag = true;
    try {
      append(fragment, new SimpleTextAttributes(linkStyle, linkColor), tag);
    }
    finally {
      myAppendingTag = false;
    }
  }
@Override
  public void append(@Nls @NotNull String fragment, @NotNull SimpleTextAttributes attributes, boolean isMainText)