class C1 {} class C2 extends C1 {} class C { T foo (T... ts) { return null; } void bar () { foo(new C2(), new C1()); } }