title: Is there any way to define a generic method in a super class to reference the inheriting class's type?
body: <p>When defining something like this method:</p>
  
  <pre><code>class State {
     public void addOperator(Operator&lt;? extends State&gt; op) {
     }
  }
  </code></pre>
  
  <p>Is there any way to define it in this way:</p>
  
  <pre><code>class State {
    public void addOperator(Operator&lt;? extends this.getClass()&gt; op) {
    }
  }
  </code></pre>
  
  <p>So that any class inherting from <b>State</b> forces all passed in value to conform to its class-type.</p>
  
  <p>I know that the above wont work, but is there anyway to force a generic wild-card to at least match the current classes type?</p>