title: Java generics type mismatch
body: <p>I have an abstract class defined as:</p>
  
  <pre><code>public abstract class TCV&lt;T extends MF&gt; {
      public Map&lt;String, MVR&lt;T&gt;&gt; operation() {
          ...
      }
  }
  </code></pre>
  
  <p>main code:</p>
  
  <pre><code>TCV&lt;? extends MF&gt; o = new TCVConcrete();
  Map&lt;String, MVR&lt; ? extends MF&gt;&gt; map = o.operation();
  </code></pre>
  
  <p>Error from eclipse:</p>
  
  <p><code>Type mismatch: cannot convert from Map&lt;String,MVR&lt;capture#5-of ? extends MF&gt;&gt; to Map&lt;String,MVR&lt;? extends MF&gt;&gt;</code></p>
  
  <p><strong>EDIT</strong></p>
  
  <pre><code>public class TCVConcrete extends TCV&lt;MFV2&gt; {
  }
  
  public class MFV2 extends MF {
  }
  </code></pre>