@Override
  public @Nullable ChangeApplier prepareChange(@NotNull List<? extends @NotNull VFileEvent> events) {
    final ArrayList<VirtualFile> filesToUpdate = new ArrayList<>();
    for (VFileEvent event : events) {
      if ((event instanceof VFilePropertyChangeEvent propEvent && propEvent.getPropertyName().equals(VirtualFile.PROP_NAME)) ||
          (event instanceof VFileMoveEvent)) {
        filesToUpdate.add(event.getFile());
      }
    }

    if (filesToUpdate.isEmpty()) {
      return null;
    }
    else {
      return new ChangeApplier() {
        @Override
        public void afterVfsChange() {
          ConfigFileFactoryImpl service = (ConfigFileFactoryImpl)ConfigFileFactory.getInstance();
          service.handleFileChanges(filesToUpdate);
        }
      };
    }
  }
@Override
  public @Nullable ChangeApplier prepareChange(@NotNull List<? extends @NotNull VFileEvent> events)