title: Why RecyclerView Adapter is a generic class
body: <blockquote>
    <p>Class signature is RecyclerView.Adapter&lt;"VH extends
    android.support.v7.widget.RecyclerView.ViewHolder">. VH type is
    bounded by RecyclerView.ViewHolder.</p>
  </blockquote>
  
  <p>As <code>RecyclerView.ViewHolder</code> is an abstract class, any instance of VH is inherited by <code>RecyclerView.ViewHolder</code>. </p>
  
  <p>For example <code>onCreateViewHolder</code> method returns the generic VH type object, which is inherited from <code>RecyclerView.ViewHolder</code> in any case. So why don't just make <code>RecyclerView.ViewHolder</code> as a return type (instead of VH generic type) and make all this stuff without generic style?</p>