class Test { interface A { void _(T... t); } static void foo(final A bar) { bar._(""); } static void foo1(final A bar) { bar._(""); } static void foo2(final A bar) { bar._(""); } public static void main(String[] args) { foo(new A() { public void _(final Integer... t) { } }); } }