1 2 3 4 5 6 7 8 9
class Animal<T,Q> { } class Bar {} class Intf {} public class Cage<T extends Animal<? extends Cage<T,Intf>,Intf>,Q> extends Bar { }