code: @Override public final void onBindViewHolder(VH holder, int position) {
      if (isHeaderPosition(position)) {
        onBindHeaderViewHolder(holder, position);
      } else if (isFooterPosition(position)) {
        onBindFooterViewHolder(holder, position);
      } else {
        onBindItemViewHolder(holder, position);
      }
    }
docs: Invokes onBindHeaderViewHolder, onBindItemViewHolder or onBindFooterViewHOlder methods based
  on the position param.