protected override SqlStatement PrepareExpressions(IExpressionPreparer preparer) { var condition = ConditionExpression.Prepare(preparer); var trueStatements = TrueStatements; for (int i = 0; i < trueStatements.Length; i++) { trueStatements[i] = trueStatements[i].Prepare(preparer); } var falseStatements = FalseStatements; if (falseStatements != null) { for (int i = 0; i < falseStatements.Length; i++) { falseStatements[i] = falseStatements[i].Prepare(preparer); } } return(new ConditionStatement(condition, trueStatements, falseStatements)); }