public Object evaluate(Bindings binding, Object optionalResult) {
return evaluate(binding, optionalResult, null);
}
public Object evaluate(Bindings binding, Object result, Multimap<IExpression, IExpression> equalities) {
ReplaceVarsVisitor replace = new ReplaceVarsVisitor();
replace.bindings = binding;
return accept(replace, null);
}