protected Object getComponent(ComponentDef componentDef, Object key, Object component, String propertyName) throws BeanIllegalPropertyException { try { return componentDef.getContainer().getComponent(key); } catch (RuntimeException cause) { throwPropertyComponentGetFailureException(componentDef, key, component, propertyName, cause); return null; // unreachable } }