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());
  }
}

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 ( ) ) ; } }
recursively create the initial state for the given component .
