The plugin performs two rearrangement tasks:
Reordering is based on the configuration supplied by the user. (By default, no rearrangement takes place.) The user creates a list of entries, specifying various attributes of the fields, methods, and classes. These attributes include all the standard Java modifiers (public, private, protected, final, static, etc.) as well as some other criteria (method is constructor, getter/setter, etc.)
The plugin moves objects to the front of the file or class declaration in the order they appear in the list. So, for example, you could specify a list like:
and all public static void fields would be moved to the front of each class definition, followed by constructors and accessor/mutator methods. Everything else follows these, in the same relative order as in the original file.
See http://www.intellij.org/twiki/bin/view/Main/RearrangerPlugin for more detail and to obtain the plugin.
Please let me know if there are bugs or additional features you'd like. One thing I know does not work: detecting if a method is overridden or not. (It's not obvious how to do this in Psi, but I'm sure it's easy)