auto attaching method (default: off)
support override
* support class with Generics
* support return Generics type