@Override
    public void after(@NotNull List<? extends @NotNull VFileEvent> events) {
      if (ContainerUtil.exists(events, MyBulkFileListener::shouldDropCache)) {
        GistManagerImpl gistManager = (GistManagerImpl)GistManager.getInstance();
        if (events.size() < 100) {
          List<VirtualFile> files = events.stream()
            .filter(MyBulkFileListener::shouldDropCache)
            .map(VFileEvent::getFile)
            .filter(Objects::nonNull)
            .toList();

          if (ContainerUtil.exists(files, VirtualFile::isDirectory)) {
            gistManager.invalidateGists();
          }
          else {
            for (VirtualFile file : files) {
              gistManager.invalidateGist(file);
            }
          }
        }
        else {
          // give up and drop everything
          gistManager.invalidateGists();
        }
      }
    }
@Override
    public void after(@NotNull List<? extends @NotNull VFileEvent> events)