docs: private void saveInitialChildState(FacesContext facesContext, UIComponent component) {
          if (component instanceof EditableValueHolder && !component.isTransient()) {
              String clientId = component.getClientId(facesContext);
              SavedState state = new SavedState();
              initialChildState.put(clientId, state);
              state.populate((EditableValueHolder) component);
          }
  
          Iterator<UIComponent> iterator = component.getFacetsAndChildren();
          while (iterator.hasNext()) {
              saveChildState(facesContext, iterator.next());
          }
      }