For the record, there is no "ultimate correct fix" for this, anything we do is basically bypassing JDK restrictions/limitations and might affect other use cases. For instance private methods that are observers still need to be intercepted so we cannot just rule out private methods. Then there are producers/disposers as well. The suggested approach is probably the best we can do ATM without causing much trouble elsewhere. |