private static void showCorruptionNotification(boolean insisting) {
    NotificationGroup notificationGroup = NotificationGroupManager.getInstance().getNotificationGroup("IDE Caches");
    var actions = new ArrayList<AnAction>();
    { // collect available actions
      AnAction recoverCachesFromLogAction = ActionManager.getInstance().getAction("RecoverCachesFromLog");
      if (recoverCachesFromLogAction != null && RecoverVfsFromLogAction.isAvailable()) {
        actions.add(recoverCachesFromLogAction);
      }
      AnAction restartIdeAction = ActionManager.getInstance().getAction("RestartIde");
      actions.add(restartIdeAction);
    }
    if (insisting) {
      notificationGroup.createNotification(
          CoreBundle.message("vfs.corruption.notification.title"),
          CoreBundle.message("vfs.corruption.notification.text"),
          INFORMATION
        )
        .setImportant(true)
        .addActions((Collection<? extends AnAction>)actions)
        .notify(null);
    }
    else {
      notificationGroup.createNotification(
          CoreBundle.message("vfs.corruption.notification.insist.title"),
          CoreBundle.message("vfs.corruption.notification.insist.text"),
          ERROR
        )
        .addActions((Collection<? extends AnAction>)actions)
        .notify(null);
    }
  }
private static void showCorruptionNotification(boolean insisting)