@Override public boolean isValid(final List<?> value, final Class<?> group) { if (!isSizeValid(value)) { return false; } if (!isTypeValid(value)) { return false; } for (final PropertyConstraint constraint : elementConstraints) { for (final Object element : value) { final boolean valid = constraint.isValid(element, group); if (!valid) { return false; } } } return true; }