title: Java Generics Question
body: <p>I following definitions of the class.</p>
  
  <pre><code>public class Test2&lt;T extends Test3&gt; {
  
       private T t ;
  
  
       public T foo() {
           Test3 test3 = new Test3();
           t = test3;  // I get compilation error here.**
           return t;
       }
  
  }
  
  class Test3 {
  
  }
  </code></pre>
  
  <p>I get compilation error at line t=test3, saying "Type mismatch can not convert from Test3 to T;
  What is wrong?</p>