List<Class<? extends A>> classes = new ArrayList<Class<? extends A>>();
classes.add(B.class);
classes.add(C.class);
classes.add(D.class);
List<Class<? extends A>> classes = new ArrayList<Class<? extends A>>();
classes.add(B.class);
classes.add(C.class);
classes.add(D.class);