code: function (conditions, def, expression) {
              if (Expression.isConditionSpecifier(conditions)) {
                  this.conditions = toArray(conditions);
                  this.def = def;
                  this.expression = expression;
                  this.noExpression = isUndefined(expression);
              }
          }
docs: @lends patio.sql.CaseExpression.prototype 
  Create an object with the given conditions and
  default value.  An expression can be provided to
  test each condition against, instead of having
  all conditions represent their own boolean expression.
  
  @constructs
  @augments patio.sql.GenericExpression
  @param {Array|Object} conditions conditions to create the case expression from
  @param def default value
  @param expression expression to create the CASE expression from
  
  @property {Boolean} hasExpression returns true if this case expression has a expression
  @property conditions the conditions of the {@link patio.sql.CaseExpression}.
  @property def the default value of the {@link patio.sql.CaseExpression}.
  @property expression the expression of the {@link patio.sql.CaseExpression}.
  @property {Boolean} noExpression true if this {@link patio.sql.CaseExpression}'s expression is undefined.