title: RecyclerView 1.2.0-alpha02: setting shared RecycledViewPool to RV makes MergeAdapter crash and view types in other screens inconsistent
body: <p>I use shared <strong>RecycledViewPool</strong> between some Fragments. I decided to try out <code>MergeAdapter</code> in one fragment. For that screen, I created a separate adapter for each viewType and overrode <code>getItemViewType</code> method to return layout ID as view type.</p>
  
  <p>When I go to any other screen that has shared RecycledViewPool but is not using <code>MergeAdapter</code> I see some of the viewHolders from previous screen showing up. When I return back app crashes and in logs I see <code>ClassCastException</code> saying that <code>ViewHolder1</code> cannot be casted to <code>ViewHolder2</code>.</p>
  
  <p>My code looks like this:</p>
  
  <pre><code>recyclerView.setRecycledViewPool(sharedViewPool)
  
  val adapter = MergeAdapter(adapter1, adapter2, adapter3, adapter4)
  recyclerView.adapter = adapter
  </code></pre>
  
  <p>How to keep shared RecycledViewPool, but eliminate <code>ClassCastException</code> and stop showing ViewHolders in other screens where they should not be shown?</p>