class A<T> { Exception[] bar(A<? super Exception[]> x, A<? super Throwable[]> y){ return this.foo(x, y); } <T> T foo(A<? super T> x, A<? super T> y){ return null; } }