if (collectionConstraint != null) {
if (collectionConstraint.required() & (collection == null)) errors.add(new ValidationError(field.getName(), errorCodes[0], collectionConstraint, collection));
if (collection != null) {
if (Collection.class.isInstance(collection)) {
Collection<?> col = (Collection<?>) collection;
if (collectionConstraint.traverse()) {
Collection<ValidationError> deepErrors = new HashSet<ValidationError>();
int i = 0;
for (Object element : col) {
Collection<ValidationError> inner = this.visit(element);
for (ValidationError error : inner) error.addPath(field.getName() + "[" + i + "]");