class RecyclerMixin implements Mixin {

  public Adapter<? extends ViewHolder> getAdapter() {
    @SuppressWarnings("unchecked") // RecyclerView.getAdapter returns raw type :(
    final RecyclerView.Adapter<? extends ViewHolder> adapter = recyclerView.getAdapter();
    if (adapter instanceof HeaderAdapter) {
      return ((HeaderAdapter<? extends ViewHolder>) adapter).getWrappedAdapter();
    }
    return adapter;
  }

  public  RecyclerMixin(@NonNull TemplateLayout layout, @NonNull RecyclerView recyclerView);

}