class B<V> {}
class F extends B<F> {}

class Foo<E extends B<E>> {
    public Foo<E> complexMethod(E a) { return this; }
}

public class Test65  {
    public static void check() {
        Foo t4 = new Foo<>() {
            public Foo<? extends B> complexMethod(B a){ return this; }
            //public Foo<B> complexMethod(B a){ return this; } ;//this causes compilation failure
        };
    }
}