It's checked in the conditions before this. The else case results in a ConstraintDefinitionException being thrown before reaching here. I tried to work out an elegant way of only doing one set of conditionals - but this ended up being the best form (in my eyes)