docs: private int getItemPosition(final int position) {
          int numColumns = getNumColumnsCompatible();
          int headerItemCount = getHeaderViewsCount() * numColumns;
          int adapterCount = adapter.getEncapsulatedAdapter().getCount();
  
          if (position < headerItemCount) {
              return position / numColumns;
          } else if (position < headerItemCount + adapterCount + getNumberOfPlaceholderViews()) {
              return position - headerItemCount + getHeaderViewsCount();
          } else {
              return getHeaderViewsCount() + adapterCount +
                      (position - headerItemCount - adapterCount - getNumberOfPlaceholderViews()) /
                              numColumns;
          }
      }