code: public void replace(Card parent, List<BaseCell> cells) {
          VirtualLayoutManager layoutManager = getLayoutManager();
          if (parent != null && cells != null && cells.size() > 0 && mGroupBasicAdapter != null && layoutManager != null) {
              Card card = parent;
              List<BaseCell> oldChildren = new ArrayList<>(parent.getCells());
              if (oldChildren.size() == cells.size()) {
                  card.setCells(cells);
                  mGroupBasicAdapter.replaceComponent(oldChildren, cells);
              } else {
                  List<LayoutHelper> layoutHelpers = layoutManager.getLayoutHelpers();
                  int cardIdx = mGroupBasicAdapter.findCardIdxForCard(parent);
                  int diff = 0;
                  if (layoutHelpers != null && cardIdx >= 0 && cardIdx < layoutHelpers.size()) {
                      for (int i = 0, size = layoutHelpers.size(); i < size; i++) {
                          LayoutHelper layoutHelper = layoutHelpers.get(i);
                          int start = layoutHelper.getRange().getLower();
                          int end = layoutHelper.getRange().getUpper();
                          if (i < cardIdx) {
                              // do nothing
                          } else if (i == cardIdx) {
                              diff = cells.size() - layoutHelper.getItemCount();
                              layoutHelper.setItemCount(cells.size());
                              layoutHelper.setRange(start, end + diff);
                          } else {
                              layoutHelper.setRange(start + diff, end + diff);
                          }
                      }
                      card.setCells(cells);
                      mGroupBasicAdapter.replaceComponent(oldChildren, cells);
                  }
              }
          }
      }
docs: Replace parent card's children. Cells' size should be equal with parent's children size.
  
  @param parent
  @param cells
  @since 2.1.0