class Foo { public void foo() { String s = foo(new I<>() { public String m() { return null; } }); } static T foo(I action) { return null; } interface I { T m(); } }