void (@NotNull Collection<? extends VirtualFile> files) { ApplicationManager.getApplication().runWriteAction(() -> { // files must be processed under one write action to prevent firing event for invalid files. Set<VFilePropertyChangeEvent> events = new HashSet<>(); for (VirtualFile file : files) { if (file != null && !file.isDirectory() && file.isValid()) { events.add(new VFilePropertyChangeEvent(FORCE_RELOAD_REQUESTOR, file, VirtualFile.PROP_NAME, file.getName(), file.getName())); } } BulkFileListener publisher = ApplicationManager.getApplication().getMessageBus().syncPublisher(VirtualFileManager.VFS_CHANGES); List<VFileEvent> eventList = Collections.unmodifiableList(new ArrayList<>(events)); publisher.before(eventList); publisher.after(eventList); ForcefulReparseModificationTracker.increment(); }); }