docs: @UiThread
      private void updateExpandedParent(@NonNull ExpandableWrapper<P, C> parentWrapper, int flatParentPosition, boolean expansionTriggeredByListItemClick) {
          if (parentWrapper.isExpanded()) {
              return;
          }
  
          parentWrapper.setExpanded(true);
          mExpansionStateMap.put(parentWrapper.getParent(), true);
  
          List<ExpandableWrapper<P, C>> wrappedChildList = parentWrapper.getWrappedChildList();
          if (wrappedChildList != null) {
              int childCount = wrappedChildList.size();
              for (int i = 0; i < childCount; i++) {
                  mFlatItemList.add(flatParentPosition + i + 1, wrappedChildList.get(i));
              }
  
              notifyItemRangeInserted(flatParentPosition + 1, childCount);
          }
  
          if (expansionTriggeredByListItemClick && mExpandCollapseListener != null) {
              mExpandCollapseListener.onParentExpanded(getNearestParentPosition(flatParentPosition));
          }
      }