docs: @Override
      @UiThread
      public int getItemViewType(int flatPosition) {
          ExpandableWrapper<P, C> listItem = mFlatItemList.get(flatPosition);
          if (listItem.isParent()) {
              return getParentViewType(getNearestParentPosition(flatPosition));
          } else {
              return getChildViewType(getNearestParentPosition(flatPosition), getChildPosition(flatPosition));
          }
      }