private static void appendGroupText(
    @NotNull JTable table,
    final GroupNode node,
    @NotNull JPanel panel,
    Color fileBgColor,
    boolean isSelected
  ) {
    UsageGroup group = node == null ? null : node.getGroup();
    if (group == null) return;
    GroupNode parentGroup = (GroupNode)node.getParent();
    appendGroupText(table, parentGroup, panel, fileBgColor, isSelected);
    SimpleColoredComponent renderer = new SimpleColoredComponent();
    renderer.setOpaque(false);
    renderer.setIcon(group.getIcon());
    SimpleTextAttributes attributes = deriveBgColor(group.getTextAttributes(isSelected), fileBgColor);
    String text = group.getPresentableGroupText();
    if (isPath(text)) {
      renderer.appendWithClipping(text, attributes, PathTextClipping.getInstance());
      Dimension minSize = renderer.getMinimumSize();
      minSize.width = 50;
      renderer.setMinimumSize(minSize);
    }
    else {
      renderer.append(group.getPresentableGroupText(), attributes);
    }
    SpeedSearchUtil.applySpeedSearchHighlighting(table, renderer, false, isSelected);
    renderer.setMaximumSize(renderer.getPreferredSize());
    panel.add(renderer);
    panel.getAccessibleContext().setAccessibleName(IdeBundle.message("ShowUsagesTableCellRenderer.accessible.FILE_GROUP_COL", renderer.getAccessibleContext().getAccessibleName()));
  }
private static void appendGroupText(
    @NotNull JTable table,
    final GroupNode node,
    @NotNull JPanel panel,
    Color fileBgColor,
    boolean isSelected
  )