Yes I know you could do much evil with this ;) In my company we use a java framework which heavily uses bytecode manipulation to extend and modify user-defined classes. There are both, situations where you scratch your head in debugging to find out where the hell the intercepting code of your intended direct method call comes from, but also situations where you are just thankful about all the "magic" the framework does for you and the lack of boilerplate code. (Of course, I'm aware that Java bytecode manipulation is something completely different, because it happens at runtime).
Regarding your hint on doing it with a compiler plugin: well let's see if I become expert enough to touch things like this in a year or two from now on ;) Until then I'll stick to more straight forward usage of the language...