{
ValueBindingExpression vbe = new ValueBindingExpression(targetExpression);
String expression = vbe.getExpressionString();
baseObject = getELHelper().getValueOfExpression(FacesContext.getCurrentInstance(), vbe.getBaseExpression());
return new PropertyDetails(
expression.substring(2, expression.length() - 1), baseObject, vbe.getProperty());
}
PropertyDetails original = metaDataEntry.getProperty(
PropertyInformationKeys.PROPERTY_DETAILS, PropertyDetails.class);
String newBaseKey = original.getKey().substring(0, original.getKey().lastIndexOf(".") + 1);
String newKey = newBaseKey + targetExpression;
baseObject = ReflectionUtils.getBaseOfPropertyChain(original.getBaseObject(), targetExpression);
return new PropertyDetails(
newKey, baseObject, targetExpression.substring(targetExpression.lastIndexOf(".") + 1,
targetExpression.length()));
}