Here's my issue: given these classes
class A {}
class B extends A {}
This code compiles:
List<Class<? extends A>> list = Arrays.asList(B.class, A.class);
And this does not:
List<Class<? extends A>> anotherList = Arrays.asList(B.class);
What gives?
UPDATE: This code compiles in Java 8. Apparently, due to 'Improved Type Inference'.