code: @Override
  	public void setData(final Object data) {
  		UIContext uic = UIContextHolder.getCurrent();
  
  		if (uic == null) {
  			getComponentModel().setData(data);
  		} else {
  			Object sharedValue = ((BeanAndProviderBoundComponentModel) getDefaultModel()).getData();
  
  			if (getBeanProperty() != null) {
  				sharedValue = getBeanValue();
  			}
  
  			getOrCreateComponentModel().setData(data);
  			setFlag(ComponentModel.USER_DATA_SET, !Util.equals(data, sharedValue));
  		}
  	}
docs: Sets the data that this component displays/edits. For bean aware components, this should only be called from
  handleRequest to set user-entered data.
  
  @param data the data to set