public function sub(CoreExpression $ObjectExpression, array $ArgumentExpressions)
{
$IntervalExpression = $ArgumentExpressions[0];
if ($IntervalExpression instanceof E\ConstantExpression && $IntervalExpression->GetValue() instanceof \DateInterval) {
$IntervalValue = $ArgumentExpressions[0]->GetValue();
$IntervalValue->invert = $IntervalValue->invert === 1 ? 0 : 1;
$ArgumentExpressions[0] = $IntervalValue;
} else {
$ArgumentExpressions[0] = Expression::UnaryOperation(Operators\Unary::Negation, $IntervalExpression);
}
return $this->add($ObjectExpression, $ArgumentExpressions);
}