I haven't looked at the tests yet, but have you tested this case? I wonder how readable the failures are. I wonder if, instead of throwing an exception, you should create a new AnnotatoinValidator instance where each validator method adds an error that has this message.