Reports any anonymous classes which may safely be made into a named static inner class. An anonymous class may be static if it doesn't explicitly reference its enclosing instance or local classes from its surrounding method.

A static inner class does not keep an implicit reference to its enclosing instance. This prevents a common cause of memory leaks and uses less memory per instance of the class.