title: Have same erasure, yet neither overrides the other warning appearing in only ONE situation
body: <p>I am extending the abstract class RecyclerView.Adapter:</p>
  
  <pre><code>public static abstract class Adapter&lt;VH extends ViewHolder&gt; {
      public abstract VH onCreateViewHolder(ViewGroup parent, int viewType);
  
      public abstract void onBindViewHolder(VH holder, int position);
  
      // some more code
  }
  </code></pre>
  
  <p>Into another abstract class:</p>
  
  <pre><code>public abstract class Adapter&lt;VH extends RecyclerView.ViewHolder&gt; extends RecyclerView.Adapter&lt;RecyclerView.ViewHolder&gt; {
  
      public abstract VH onCreateViewHolder(ViewGroup parent, int viewType);
  
      public abstract void onBindViewHolder(VH viewHolder, int position);
  
  }
  </code></pre>
  
  <p>But when I do that, ONLY the <code>onBindViewHolder</code> method shows an error:</p>
  
  <blockquote>
    <p>'onBindViewHolder(VH, int)' in 'com.leonardo.endlessrecycerviewwithsqlitepagination.adapter.ViewHolder' clashes with 'onBindViewHolder(VH, int)' in 'android.support.v7.widget.RecyclerView.Adapter'; both methods have same erasure, yet neither overrides the other</p>
  </blockquote>
  
  <p>Why the same thing doesn't happend to the <code>onCreateViewHolder</code> method?</p>
  
  <p>Another question is in this scenario:</p>
  
  <pre><code>public abstract class Adapter&lt;VH extends RecyclerView.ViewHolder&gt; extends RecyclerView.Adapter&lt;ViewHolder.CustomViewHolder&gt; {
  
      public abstract VH onCreateViewHolder(ViewGroup parent, int viewType);
  
      public abstract void onBindViewHolder(VH holder, int position);
  
      static class CustomViewHolder extends RecyclerView.ViewHolder {
  
          public CustomViewHolder(View itemView) {
              super(itemView);
          }
      }
  }
  </code></pre>
  
  <p>Why now BOTH methods display the error above?</p>