3)"First of all the purpose of Method Local Inner classes in not clear."
Okay, I will admit it. I am one of those people who abuse the use of anonymous inner classes. It is pretty silly to have a separate class definitions located elsewhere, when the class is only a few lines long, and used in one method.
Never really had the need for method local inner classes, as you can't really do a good job of abuse, if you spread it out ...
... seriously, there is some advantage of method inner classes over anonymous inner classes. The two that I can quickly think of are, you can implement multiple interfaces, and can declare constructors for it.
Henry