List<Expression> evaluated = new ArrayList<Expression>();
for (Expression expression : input.getExpressions()) {
evaluated.add(evaluate(expression));
}
ListExpression result = new ListExpression(input.getUnderlyingStructure(), evaluated, input.getOperator().clone(), input.getScope());
result.configureParentToAllChilds();
return result;
}
public Expression evaluate(NamedExpression input) {
NamedExpression result = new NamedExpression(input.getUnderlyingStructure(), input.getName(), evaluate(input.getExpression()), input.getScope());