/** * Evaluate the given value as an expression, if necessary. * * @param value the candidate value (may be an expression) * @return the resolved value */ protected Object evaluate(TypedStringValue value) { Object result = doEvaluate(value.getValue()); if (!ObjectUtils.nullSafeEquals(result, value.getValue())) { value.setDynamic(); } return result; }