title: "Attempting to use an incompatible return type" with Interface Inheritance
body: <p>I'm running into a problem with incompatible return types using inheritance.</p>
  
  <pre><code>public interface A { }
  public interface B extends A { }
  
  public interface C {
      Map&lt;String, A&gt; getMapping();
  }
  
  public interface D extends C {
      Map&lt;String, B&gt; getMapping();
  }
  </code></pre>
  
  <p>Is there a way to make this work?</p>
  
  <p>Right now the compiler tells me I'm 'Attempting to use an incompatible return type' on interface D.</p>