@Override
  protected void updateCachedPresentation() {
    UsageGroup group = getGroup();
    if (group == null || !group.isValid()) {
      return;
    }
    PsiElement element = group instanceof DataProvider
                         ? CommonDataKeys.PSI_ELEMENT.getData((DataProvider)group)
                         : null;
    FileStatus fileStatus = group.getFileStatus();
    Color foregroundColor = fileStatus != null ? fileStatus.getColor() : null;
    var tagIconAndText = TagManager.getTagIconAndText(element);
    Icon icon = IconUtil.rowIcon(tagIconAndText.icon(), group.getIcon());
    List<TextChunk> chunks = new ArrayList<>();
    for (ColoredText.Fragment fragment : tagIconAndText.coloredText().fragments()) {
      chunks.add(new TextChunk(fragment.fragmentAttributes().toTextAttributes(), fragment.fragmentText()));
    }
    TextAttributes attributes = SimpleTextAttributes.REGULAR_ATTRIBUTES.toTextAttributes();
    attributes.setForegroundColor(foregroundColor);
    chunks.add(new TextChunk(attributes, group.getPresentableGroupText()));
    myCachedPresentation = new UsageNodePresentation(icon, chunks.toArray(TextChunk.EMPTY_ARRAY), null);
  }
@Override
  protected void updateCachedPresentation()