public class MyTest {
    interface I {
       void m(Integer s);
    }
    static class Foo<X extends Number> {
        Foo(X x) { }
    }

 
    static void m(I s) {}

    static {
        m((x) -> {
            new Foo<Integer>(x);
        });
    }
}

public class MyTest {
    interface I {
       void m(Integer s);
    }
    static class Foo<X extends Number> {
        Foo(X x) { }
    }

 
    static void m(I s) {}

    static {
        m((x) -> {
            new Foo<Number>(x);
        });
    }
}

test data fixed