I\'m experimenting with using generics to support a configurable structure of delegating objects (decorators, wrappers). I want to build a chain of delegators that implement
What should work instead is, if FooDelegator implements Delegator or Foo implements Delegator. Because this is what you are requiring for the DelegatorChain: T implements Delegator.