public virtual bool Evaluate(IVariableScope scope, IDelegateExecution execution) { var result = Expression.GetValue(scope, execution); EnsureUtil.EnsureNotNull("condition expression returns null", "result", result); EnsureUtil.EnsureInstanceOf("condition expression returns non-Boolean", "result", result, typeof(bool)); return((bool)result); }