Maybe the spec should be adapted as such:
If the InterceptionFactory is parameterized with an interface, then only interceptor bindings present on that interface hierarchy and those added via the configurator should be considered for interception, not those present on the type of the given instance. The resulting intercepted instance (proxy) should only implement that interface and not extend the original instance's class.
Then you could have a choice: either parameterize the InterceptionFactory with an interface (no special requirements) or with a class (which should then fulfil all requirements for a CDI bean). |