title: Generic type variable cannot be resolved in subclass
body: <p>I am trying to extend this abstract class.</p>
  
  <pre><code>import java.util.*;
  
  public abstract class FilteredIterator&lt;E1, E2&gt; implements Iterator&lt;E1&gt;
  {
    protected Iterator&lt;E1&gt; baseIterator;
    protected List&lt;E2&gt; filterValue;
  
    public FilteredIterator( Iterator&lt;E1&gt; baseIterator, List&lt;E2&gt; filterValue )
    {
      this.baseIterator = baseIterator;
      this.filterValue = filterValue;
    }
  }
  </code></pre>
  
  <p>.
  .
  .</p>
  
  <pre><code>import java.util.*;
  
  public class FilteredIteratorImpl extends FilteredIterator&lt;E1, E2&gt;{
  
    public FilteredIteratorImpl(){
       super();
    }
  </code></pre>
  
  <p>When I do this, I get the error messages 'E1 cannot resolve to a type', 'E2 cannot resolve to a type', and 'The constructor FilteredIterator(Iterator, List) refers to the missing type E1'. </p>
  
  <p>I have tried replacing E1 and E1 with actual parameters in the extend line, in the super constructor, and in the FilteredIteratorImpl constructor. I have also tried declaring these variables in FilteredIteratorImpl for E1 and E2, even though I'm pretty sure I don't need to do that, since they are declared in the abstract method. Can anyone help me resolve this?</p>