public static @Nullable Icon patchIcon(@NotNull Project project, @Nullable Icon original, @Nullable VirtualFile file) {
    if (file == null || original == null) return original;

    Icon icon = original;

    if (file.is(VFileProperty.SYMLINK)) {
      PredefinedIconOverlayService iconOverlayService = PredefinedIconOverlayService.Companion.getInstanceOrNull();
      if (iconOverlayService != null) {
        icon = iconOverlayService.createSymlinkIcon(icon);
      }
    }

    Icon bookmarkIcon = getBookmarkIcon(project, file);
    if (bookmarkIcon != null) {
      icon = withIconMarker(icon, bookmarkIcon);
    }

    return icon;
  }
public static @Nullable Icon patchIcon(@NotNull Project project, @Nullable Icon original, @Nullable VirtualFile file)