title: Inconvertible types; cannot cast 'caputure<? extends IEntity>'to 'java.lang.Class<T>'
body: <p>There are three class,class IEntity is an abstract class,which is only used for generic.</p>
  
  <p>Class one:</p>
  
  <pre class="lang-java prettyprint-override"><code>public abstract class IEntity {
  }
  </code></pre>
  
  <p>class two:</p>
  
  <pre class="lang-java prettyprint-override"><code>public class Config {
      private Class&lt;? extends IEntity&gt; clazz;
  
      public Class&lt;? extends IEntity&gt; getClazz(){
          return this.clazz;
      }
  }
  </code></pre>
  
  <p>class three:</p>
  
  <pre class="lang-java prettyprint-override"><code>public class EntityTest&lt;T extends IEntity&gt; {
      private Class&lt;T&gt; clazz;
  
      public void init(Config config){
         //Here is the wrong report
         // Failed to compile
          this.clazz=config.getClazz();
      }
  }
  </code></pre>