Why doesn't Class have a nice generic type in this case?
<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>
