docs: @UiThread
      public void notifyChildMoved(int parentPosition, int fromChildPosition, int toChildPosition) {
          P parent = mParentList.get(parentPosition);
          int flatParentPosition = getFlatParentPosition(parentPosition);
  
          ExpandableWrapper<P, C> parentWrapper = mFlatItemList.get(flatParentPosition);
          parentWrapper.setParent(parent);
          if (parentWrapper.isExpanded()) {
              ExpandableWrapper<P, C> fromChild = mFlatItemList.remove(flatParentPosition + 1 + fromChildPosition);
              mFlatItemList.add(flatParentPosition + 1 + toChildPosition, fromChild);
              notifyItemMoved(flatParentPosition + 1 + fromChildPosition, flatParentPosition + 1 + toChildPosition);
          }
      }