code: @Override
  	public Object getData() {
  		BeanAndProviderBoundComponentModel model = getComponentModel();
  		Object data = model.getData();
  		String beanProperty = getBeanProperty();
  
  		if (beanProperty != null) {
  			Object sharedData = ((BeanAndProviderBoundComponentModel) getDefaultModel()).getData();
  
  			if (!isFlagSet(ComponentModel.USER_DATA_SET) && Util.equals(data, sharedData)) {
  				Object bean = getBean();
  
  				if (bean != null) {
  					data = getBeanValue();
  				}
  			}
  		}
  
  		return data;
  	}
docs: Returns the data for this component. The following are searched in order:
  <ul>
  <li>a value set explicitly in the ui context using {@link #setData(Object)};</li>
  <li>if a bean is available; the bean's value; or</li>
  <li>the value set on the shared model.</li>
  </ul>
  
  @return the current value of this component for the given context