import java.util.*; class A<T> { } class B<S> extends A { } class C extends A { } class D extends A { } public class Main { public static void test(Collection c) {} public static void main(String[] args) { Collection bs = new ArrayList(); test(bs); Collection cs = new ArrayList(); test(cs); Collection ds = new ArrayList(); test(ds); } }