}
@Override
public void eval(BetweenContext context, Schema schema, Tuple param) {
predicand.eval(context.predicandContext, schema, param);
Datum predicandValue = predicand.terminate(context.predicandContext);
begin.eval(context.beginContext, schema, param);
Datum beginValue = begin.terminate(context.beginContext);
end.eval(context.endContext, schema, param);
Datum endValue = begin.terminate(context.endContext);
if (!(predicandValue instanceof NullDatum || beginValue instanceof NullDatum || endValue instanceof NullDatum)) {
context.result = DatumFactory.createBool( not ^
(predicandValue.greaterThanEqual(beginValue).asBool() && predicandValue.lessThanEqual(endValue).asBool()) ||
(predicandValue.lessThanEqual(beginValue).asBool() && predicandValue.greaterThanEqual(endValue).asBool())