title: Why doesn't Class have a nice generic type in this case?
body: <p>In this code, why can type not be declared as <code>Class&lt;? extends B&gt;</code>?</p>
  
  <pre><code>public class Foo&lt;B&gt; {
      public void doSomething(B argument) {
          Class&lt;? extends Object&gt; type = argument.getClass();
      }
  }
  </code></pre>