TargetClass is also annotated with
non-substituted methods in that class are by default treated as
annotation changes the behavior: A method annotated with
KeepOriginal keeps the original
definition of the method.
If this annotation is used to the
* substituted type itself, then the original
definition of all methods and fields in the target type are kept by default.