title: Why generic type is not applicable for argument extends super class for both?
body: <p>Here is the problem that I have been being tried to find the solution.</p>
  
  <p>We have two class definitions. One of two extends other one.<br></p>
  
  <pre><code>    class T{}
      class TT extends T{}
  </code></pre>
  
  <p>The requirement is that there should be a list keeps object extends T <br></p>
  
  <pre><code>    List&lt;? extends T&gt; list = new ArrayList&lt;&gt;();
  </code></pre>
  
  <p>But the problem occures when I try to put a TT object ( barely seems it is a subclass of T )
  into the list.<br></p>
  
  <pre><code>    list.add(new TT());
  </code></pre>
  
  <p><strong>Compilation Error Message</strong><br></p>
  
  <p>The method add(capture#2-of ? extends Cell) in the type List is not applicable for the arguments (Cell)</p>