Javadoc of PreValidateEvent / PostValidateEvent:
Components with children must publish this event before/after processing their child nodes in UIComponent.processValidators(javax.faces.context.FacesContext). This is especially important for iterating components such as UIData, and form components, such as UIForm.
UIColumn is a component with children, so it must publish PreValidate/PostValidate events as the javadoc of those events specifies.
But javadoc for UIData's processValidators() method, explicitly skips the processing of UIColumn components, and only specifies processing of its facets and children.
This is incoherent.