title: How to define generics return in an interface?
body: <p>My implementation looks like this.</p>
  
  <pre><code>@Override
  public &lt;T extends AlgorithmSuperType&gt; T doSomethingSmart(){
      //do this and that
  }
  </code></pre>
  
  <p>How could I define the interface for this generic return value? Eclipse recommends this interface definition.</p>
  
  <pre><code>T doSomethingSmart();
  </code></pre>
  
  <p>When I accept the quick fix, Eclipse finds fault with it and recommends to prepend <code>&lt;T&gt;</code>.</p>
  
  <pre><code>&lt;T&gt; T doSomethingSmart();
  </code></pre>
  
  <p>None of these quick fixes of the interface resolve the conflict in the @Override implementation.</p>
  
  <p>Any clue how to properly define the interface?</p>