* @param elCtx
* @return A ValueReferenceWrapper with the necessary information about the ValueReference.
*/
public static _ValueReferenceWrapper getUELValueReferenceWrapper(ValueExpression valueExpression, final ELContext elCtx)
{
ValueReference valueReference = valueExpression.getValueReference(elCtx);
while (valueReference != null
&& valueReference.getBase() instanceof CompositeComponentExpressionHolder)
{
valueExpression = ((CompositeComponentExpressionHolder) valueReference.getBase())
.getExpression((String) valueReference.getProperty());
if(valueExpression == null)
{
break;
}
valueReference = valueExpression.getValueReference(elCtx);
}
if (valueReference != null)
{
return new _ValueReferenceWrapper(valueReference.getBase(), valueReference.getProperty());
}
return null;
}