Typically I try to name such methods with a dumb, uniform name `loop`, so that one can glance through them without stopping on an unusually-looking name and trying to understand whether it's a typical "define recursive function and call it immediately" pattern or something else.

Dumb names (when they don't matter for understanding) are quite cool, because they lower the amount of energy necessary to read the code. That's why btw I called `PluginComponent` PluginComponent and not `ASTPersistencePluginComponent`, same for `newPhase` returning an anonymous class instance rather than an explicitly defined class that one has to name :)