I've been trying to implement a MoveFileHandler, basing myself upon https://upsource.jetbrains.com/ideac/file/64fd4acb59f76ff0e0bfda3663897b2da55b67a1/plugins%2Fgroovy%2Fsrc%2Forg%2Fjetbrains%2Fplugins%2Fgroovy%2Frefactoring%2Fmove%2FMoveGroovyFileHandler.java.
However, I don't seem to understand what the exact meaning of the functions that I need to override are. The canProcessElement function, I get. The findUsages functions, I think that should return the imports of the file that I should move or so, but the signature doesn't seem to indicate that (I would expect to have to return a list of PsiElements then, instead of a list of UsageInfo. Next to that, I don't seem to be find the correct way of finding the usages of the module contained in the file (that module needs to change name, as it's containing directory changes name, and all it's imports change name).
So, long story short, is it possible to shed some light on how to best implement moving a file and updating the content of the file and the references to the content of the file?