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 .