code: private Object manageListIfNecessary(List<Object> value) {
  		boolean containsRuntimeRefs = false;
  		for (ListIterator<Object> i = value.listIterator(); i.hasNext();) {
  			Object e = i.next();
  			if(e instanceof RuntimeBeanReference) {
  				containsRuntimeRefs = true;
  			}
              if (e instanceof BeanConfiguration) {
                  BeanConfiguration c = (BeanConfiguration) e;
                  i.set(c.getBeanDefinition());
                  containsRuntimeRefs = true;
              }
          }
  		if(containsRuntimeRefs) {
  			List tmp = new ManagedList();
  			tmp.addAll(value);
  			value = tmp;
  		}
  		return value;
  	}
docs: Checks whether there are any runtime refs inside the list and
  converts it to a ManagedList if necessary
  
  @param value The object that represents the list
  @return Either a new list or a managed one