Earlier quoted context omitted.
I took a look at lombok and it's pretty obvious from the way cleanup method names can be passed as strings that's it's using reflection. It's a bit of a nasty hack, but it works.
It fiddles with the AST during compilation. No reflection.
Sounds like it's trying to add structural subtyping via the back door.