public override IExpression Invoke(IExpressionContext context) { using (context.Scope(this)) { var expression = (Predicate.SafeInvoke(context).Log().Value <bool>() ? True : False) ?? throw new InvalidOperationException($"{nameof(True)} or {nameof(False)} expression is not defined.");; return(expression.SafeInvoke(context).Log()); } }