Alex Vasseur, in "Opt-out AOP: good or evil?," describes the -Xreweavable option in AspectJ. One of the consequences of this option is that it's "fairly easy to implement an opt-out AOP engine that simply restores the state prior to weaving, and thus kicks out all the aspects from the application!"