void (@NotNull List<? extends VFileEvent> subList) { VFileEvent event = subList.get(0); if (event instanceof VFileDeleteEvent) { DebugUtil.performPsiModification(null, () -> filesDeleted(subList)); } else if (event instanceof VFileMoveEvent) { filesMoved(subList); } else { assert subList.size() == 1; if (event instanceof VFileCopyEvent ce) { VirtualFile copy = ce.getNewParent().findChild(ce.getNewChildName()); if (copy != null) { fileCreated(copy); // no need to group file creation events } } else if (event instanceof VFileCreateEvent) { VirtualFile file = event.getFile(); if (file != null) { fileCreated(file); // no need to group file creation events } } else if (event instanceof VFilePropertyChangeEvent) { propertyChanged((VFilePropertyChangeEvent)event); } } }