code: public static void updateBeanValue(final WComponent component, final boolean visibleOnly) {
  		// Do not process if component is invisble and ignore visible is true. Will ignore entire branch from this point.
  		if (!component.isVisible() && visibleOnly) {
  			return;
  		}
  
  		if (component instanceof WBeanComponent) {
  			((WBeanComponent) component).updateBeanValue();
  		}
  
  		// These components recursively update bean values themselves,
  		// as they have special requirements due to repeating data.
  		if (component instanceof WDataTable || component instanceof WTable || component instanceof WRepeater) {
  			return;
  		}
  
  		if (component instanceof Container) {
  			for (int i = ((Container) component).getChildCount() - 1; i >= 0; i--) {
  				updateBeanValue(((Container) component).getChildAt(i), visibleOnly);
  			}
  		}
  	}
docs: Updates the bean value with the current value of the component and all its bean-bound children.
  
  @param component the component whose contents need to be copied to the bean.
  @param visibleOnly - whether to include visible components only.