@Override
  public void notifyPropertyChanged(@NotNull VirtualFile virtualFile,
                                    @VirtualFile.PropName @NotNull String property,
                                    Object oldValue,
                                    Object newValue) {
    Application app = ApplicationManager.getApplication();
    ApplicationManager.getApplication().invokeLater(() -> {
      if (virtualFile.isValid()) {
        ApplicationManager.getApplication().runWriteAction(() -> {
          List<VFileEvent> events =
            Collections.singletonList(new VFilePropertyChangeEvent(this, virtualFile, property, oldValue, newValue));
          BulkFileListener listener = app.getMessageBus().syncPublisher(VFS_CHANGES);
          listener.before(events);
          listener.after(events);
        });
      }
    }, ModalityState.nonModal());
  }
@Override
  public void notifyPropertyChanged(@NotNull VirtualFile virtualFile,
                                    @VirtualFile.PropName @NotNull String property,
                                    Object oldValue,
                                    Object newValue)