code: public void replace(Card oldOne, Card newOne) {
          VirtualLayoutManager layoutManager = getLayoutManager();
          if (oldOne != null && newOne != null && mGroupBasicAdapter != null && layoutManager != null) {
              List<LayoutHelper> layoutHelpers = layoutManager.getLayoutHelpers();
              int cardIdx = mGroupBasicAdapter.findCardIdxForCard(oldOne);
              if (layoutHelpers != null && cardIdx >= 0 && cardIdx < layoutHelpers.size()) {
                  final List<LayoutHelper> newLayoutHelpers = new LinkedList<>();
                  for (int i = 0, size = layoutHelpers.size(); i < size; i++) {
                      LayoutHelper layoutHelper = layoutHelpers.get(i);
                      if (i == cardIdx) {
                          layoutHelper = newOne.getLayoutHelper();
                      }
                      newLayoutHelpers.add(layoutHelper);
                  }
                  layoutManager.setLayoutHelpers(newLayoutHelpers);
                  mGroupBasicAdapter.replaceComponent(oldOne, newOne);
              }
          }
      }
docs: Replace card one by one. New one's children size should be equal with old one's children size.
  
  @param oldOne
  @param newOne
  @since 2.1.0