@Override
  public final void onBindViewHolder(BaseViewHolder holder, int position) {

    switch (holder.getItemViewType()) {
      case TYPE_LOADING_VIEW:
        break;
      case TYPE_HEADER_VIEW:
        break;
      case TYPE_EMPTY_VIEW:
        break;
      case TYPE_FOOTER_VIEW:
        break;
      default:
        convert((VH) holder, mData.get(holder.getLayoutPosition() - getHeaderViewCount()));
        break;
    }
  }