void (@NotNull DocumentEvent event) { if (isListenerInactive()) { return; } Project[] openProjects = ProjectUtilCore.getOpenProjects(); if (openProjects.length == 0) { return; } VirtualFile file = FileDocumentManager.getInstance().getFile(event.getDocument()); if (file == null || LightVirtualFile.shouldSkipEventSystem(file)) { return; } for (Project project : openProjects) { if (project.isDisposed()) { continue; } // It's too costly to synchronously check whether the file is under the project, so delegate the check to // the background activities of all projects GeneratedSourceFileChangeTrackerImpl fileChangeTracker = (GeneratedSourceFileChangeTrackerImpl)getInstance(project); fileChangeTracker.myFilesToCheck.add(file); fileChangeTracker.myCheckingQueue.cancelAndRequest(); } }