I like the call to validate to a CM instead of doing this directly in here.  Still unsure about using an exception for it though.  See my other comment.