Specifically, "compiling" the CriteriaQuery should surround validation with a try/catch and prefer to throw IllegalArgumentException