ExecutionContext executionContext = event.getExecutionContext();
populator.populateAndSetPropertyValue(bean, executionContext.getBeanContext(), watchingBeanId, executionContext, event.getSource());
} else if(beanId == watchingBeanId && lifecycle == BeanLifecycle.REMOVE) {
BeanContext beanContext = event.getExecutionContext().getBeanContext();
beanContext.removeObserver(this);
// Need to remove the watched bean from the bean context too because it's lifecycle is associated
// with the lifecycle of the watching bean, which has been removed...
if(watchedBeanId != null) {
beanContext.removeBean(watchedBeanId, event.getSource());
}