// Test case for Issue 139: // https://github.com/typetools/checker-framework/issues/139 abstract class GenericTest8 { interface A<S> {} void foo1(A<?> a) { foo2(a); } abstract <T> A<? extends T> foo2(A<? extends T> a); void bar1(A<? extends A<?>> a) { bar2(a); } abstract <U> A<A<? extends U>> bar2(A<? extends A<? extends U>> a); }