code: @Override
  	public void setBeanProvider(final BeanProvider beanProvider) {
  		if (isLocked() && beanProvider != null && !(beanProvider instanceof Serializable)) {
  			throw new SystemException(
  					"Unable to store bean provider in user's session as it is not serializable: " + beanProvider.
  					getClass());
  		}
  
  		getOrCreateComponentModel().setBeanProvider(beanProvider);
  		String beanProperty = getBeanProperty();
  
  		if (beanProperty == null) {
  			setBeanProperty(".");
  		}
  
  		// Remove values in scratch map
  		removeBeanFromScratchMap();
  	}
docs: Sets the {@link BeanProvider} associated with this WBeanComponent. The bean provider will be called to supply the
  bean whenever necessary.
  
  @param beanProvider the bean provider to associate