title: Generics issue - inferred type does not conform to declared bound(s)
body: <p>We currently have one class that won't compile with openjdk 6. The following shortened class reproduces this error:</p>
  
  <pre><code>public class Copy implements ICopy {        
      public &lt;A,B extends List&lt;A&gt;,C extends Map&lt;A,B&gt;&gt; A method(A a, B b) {
          A something = null;
          return something;
      }
  
      @Override
      public &lt;A,B extends List&lt;A&gt;&gt; A method2(A a, B b) {
          return method(a,b);
      }    
  }
  </code></pre>
  
  <p>The interface is simple, it just shows, that we can't change the signature of the <code>method2</code>:</p>
  
  <pre><code>public interface ICopy {    
      public &lt;A,B extends List&lt;A&gt;&gt; A method2(A a, B b);
  }
  </code></pre>
  
  <p>It compiles with oracles java versions and openjdk 7 - but fails with openjdk 6, and, unfortunatly, that's the version that we have to use to compile the (original) code.</p>
  
  <p>The error message is</p>
  
  <pre><code>Copy.java:15: invalid inferred types for C; inferred type does not conform to declared bound(s)
  inferred: java.util.Map&lt;A,B&gt;
  bound(s): java.util.Map&lt;A,B&gt;
                  return method(a,b);
                               ^
  </code></pre>
  
  <p>All I need are some ideas how to change the implementation of <code>method2</code> so that it would compile. I wouldn't even care about compiler warnings...</p>