question: @ Override public void beforeFileMovement ( @ NotNull VirtualFileMoveEvent event ) { MasonSettings masonSettings = MasonSettings . getInstance ( getProject ( ) ) ; List < VirtualFile > componentsRoots = masonSettings . getComponentsRootsVirtualFiles ( ) ; if ( componentsRoots . isEmpty ( ) ) { return ; } VirtualFile movedFile = event . getFile ( ) ; Set < VirtualFile > rootsSet = new THashSet < VirtualFile > ( componentsRoots ) ; if ( movedFile . isDirectory ( ) ) { if ( VfsUtil . isUnder ( movedFile , rootsSet ) || containsAtLeastOneFile ( movedFile , componentsRoots ) ) { movedFile . putUserData ( FORCE_REINDEX , true ) ; } } else if ( movedFile . getFileType ( ) instanceof MasonFileType ) { if ( VfsUtil . isUnder ( movedFile , rootsSet ) ) { movedFile . putUserData ( FORCE_REINDEX , true ) ; } } }
target:  Fired before the movement of a file is processed.