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