public CaseWhenPair (Expression when, Expression then)
{
ArgumentUtility.CheckNotNull ("when", when);
ArgumentUtility.CheckNotNull ("then", then);
if (!BooleanUtility.IsBooleanType (when.Type))
throw new ArgumentException ("The WHEN expression's type must be boolean.", "when");
_when = when;
_then = then;
}