title: Whats the use of saying <? extends SomeObject> instead of <SomeObject>
body: <p>So I was looking over some Java code and stumbled upon:</p>
  
  <pre><code>List&lt;? extends SomeObject&gt; l;
  </code></pre>
  
  <p>basically this list accepts all objects that are some kind of SomeObject - SomeObject itself or its inheritors. But according to polymophism, it's inheritors can also be seens as SomeObject, so this would work as well:</p>
  
  <pre><code>List&lt;SomeObject&gt; l;
  </code></pre>
  
  <p>So why would someone use the first option when the second is clearly defined and virtually identical?</p>