private void after(@NotNull List<? extends VFileEvent> events) {
    for (VFileEvent event : events) {
      if (event instanceof VFileCreateEvent) {
        VirtualFile parent = ((VFileCreateEvent)event).getParent();
        String fileName = ((VFileCreateEvent)event).getChildName();
        Module module = getModuleForSourceContentFile(parent, fileName);
        if (module != null) {
          addToDirtyModules(module);
        }
      }
      else if (event instanceof VFileCopyEvent || event instanceof VFileMoveEvent) {
        VirtualFile file = event.getFile();
        assert file != null;
        fileChanged(file);
      }
      else {
        if (event instanceof VFilePropertyChangeEvent pce) {
          String propertyName = pce.getPropertyName();
          if (VirtualFile.PROP_NAME.equals(propertyName) || VirtualFile.PROP_SYMLINK_TARGET.equals(propertyName)) {
            fileChanged(pce.getFile());
          }
        }
      }
    }
  }
private void after(@NotNull List<? extends VFileEvent> events)