Ok. I was following the advice you had for me about this

"I would prefer to use the null object pattern here (i.e. return a do-nothing validator)". 

I guess I pushed the null check and hence the null object pattern down from the ParentRunner into the AnnotationValidatorFactory. Do you still want me to follow the null object pattern?