PathImpl.createPathForExecutable( executableMetaData )
);
groupIterator = validationOrder.getGroupIterator();
while ( groupIterator.hasNext() ) {
Group group = groupIterator.next();
cascadingValueContext.setCurrentGroup( group.getDefiningClass() );
validateCascadedConstraints( context, cascadingValueContext );
if ( shouldFailFast( context ) ) {
return;
}
}
}
// now process sequences, stop after the first erroneous group
Iterator<Sequence> sequenceIterator = validationOrder.getSequenceIterator();
while ( sequenceIterator.hasNext() ) {
Sequence sequence = sequenceIterator.next();
for ( Group group : sequence.getComposingGroups() ) {
int numberOfFailingConstraint = validateReturnValueForGroup(
context, bean, value, group
);
if ( shouldFailFast( context ) ) {
return;
}
if ( value != null ) {
cascadingValueContext.setCurrentGroup( group.getDefiningClass() );
validateCascadedConstraints( context, cascadingValueContext );
if ( shouldFailFast( context ) ) {
return;
}