public List<Value> evaluate(List<Value> values, List<Value> results) {
for (Value value : values) {
if (value.getValueType() == Value.TYPE.ARRAY) {
for (int j = 0; j < value.size(); j++) {
Value checkElement = value.get(j);
if (checkElement.getValueType() == Value.TYPE.OBJECT) {
boolean expressionValid = true;
for (ExpressionPredicateCondition condition : conditions) {
Value checkValue = checkElement.get(condition.getAttribute());
if (checkValue == null) {
expressionValid = false;
break;
}
ExpressionPredicateOperator expressionConditionOperator = condition.getOperator();
if (expressionConditionOperator.equals(ExpressionPredicateOperator.NOT_NULL)) {
if (checkValue.isNull()) {
expressionValid = false;
break;
}
} else if (expressionConditionOperator.equals(ExpressionPredicateOperator.EQUAL)) {
if (!checkValue.equals(condition.value)) {
expressionValid = false;
break;
}
} else if (expressionConditionOperator.equals(ExpressionPredicateOperator.LESS)) {
} else if (expressionConditionOperator.equals(ExpressionPredicateOperator.GREATER)) {