public class Class1<Q> { class Gen<S> {} public <T> T methodTypeParam(T t) { return t; } public void classTypeParam(Q e) {} public <F> void wildcardExtends(Gen<? extends F> class1) {} public <F> void wildcardSuper(Gen<? super F> class1) {} }