this work only if obj.preperty1 is not null unless we have a null pointer exception
new ExpressionFactoryImpl().createValueExpression(
FacesUtils.getFacesContext().getELContext(),
expr, Object.class).getType(
FacesUtils.getFacesContext().getELContext())
because as kolossus mention it will evaluate the first part, then the second...