docs: private int getPackedPosition(final int position) {
          if (position < getHeaderViewsCount()) {
              return position;
          } else {
              Pair<Integer, Integer> pair = getItemPosition(position - getHeaderViewsCount());
              int groupIndex = pair.first;
              int childIndex = pair.second;
  
              if (childIndex == -1 && groupIndex == -1) {
                  int childCount = 0;
  
                  for (int i = 0; i < getExpandableListAdapter().getGroupCount(); i++) {
                      childCount += getExpandableListAdapter().getChildrenCount(i);
                  }
  
                  return getHeaderViewsCount() + getExpandableListAdapter().getGroupCount() +
                          childCount + position - (getHeaderViewsCount() + adapter.getCount());
              } else if (childIndex != -1) {
                  return getPackedChildPosition(groupIndex, childIndex);
              } else {
                  return getPackedGroupPosition(groupIndex);
              }
          }
      }