org_apache_struts_beanvalidation_BeanValidationInterceptorTest_java
org.hibernate.validator.internal.engine.ValidatorImpl
private void validateCascadedConstraints(BaseBeanValidationContext<?> validationContext, ValueContext<?, Object> valueContext) {
        Validatable validatable = valueContext.getCurrentValidatable();
        ValueContext.ValueState<Object> originalValueState = valueContext.getCurrentValueState();
        for (Cascadable cascadable : validatable.getCascadables()) {
            valueContext.appendNode(cascadable);
            if (this.isCascadeRequired(validationContext, valueContext.getCurrentBean(), valueContext.getPropertyPath(), cascadable.getConstraintLocationKind())) {
                Object value = this.getCascadableValue(validationContext, valueContext.getCurrentBean(), cascadable);
                CascadingMetaData cascadingMetaData = cascadable.getCascadingMetaData();
                if (value != null) {
                    ContainerCascadingMetaData containerCascadingMetaData;
                    CascadingMetaData effectiveCascadingMetaData = cascadingMetaData.addRuntimeContainerSupport(this.valueExtractorManager, value.getClass());
                    if (effectiveCascadingMetaData.isCascading()) {
                        this.validateCascadedAnnotatedObjectForCurrentGroup(value, validationContext, valueContext, effectiveCascadingMetaData);
                    }
                    if (effectiveCascadingMetaData.isContainer() && (containerCascadingMetaData = effectiveCascadingMetaData.as(ContainerCascadingMetaData.class)).hasContainerElementsMarkedForCascading()) {
                        this.validateCascadedContainerElementsForCurrentGroup(value, validationContext, valueContext, containerCascadingMetaData.getContainerElementTypesCascadingMetaData());
                    }
                }
            }
            valueContext.resetValueState(originalValueState);
        }
    }
 -> java.lang.Iterable.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.size(): int -> java.util.List.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.reflect.Field.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int -> java.util.Set.contains(java.lang.Object): boolean -> java.lang.Object.equals(java.lang.Object): boolean -> java.util.List.contains(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.Object.getClass(): java.lang.Class -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.ref.Reference.get(): java.lang.Object -> java.lang.ref.Reference.get(): java.lang.Object -> java.util.List.size(): int -> java.util.List.set(int,java.lang.Object): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.Class.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Iterable.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int -> java.util.List.hashCode(): int -> java.lang.String.hashCode(): int -> java.util.Arrays.hashCode(java.lang.Object[]): int -> java.lang.String.hashCode(): int -> java.util.Arrays.hashCode(java.lang.Object[]): int -> java.lang.System.identityHashCode(java.lang.Object): int -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.contains(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.reflect.Field.get(java.lang.Object): java.lang.Object -> java.util.List.size(): int -> java.util.List.set(int,java.lang.Object): java.lang.Object -> java.util.Optional.empty(): java.util.Optional -> java.util.Optional.isPresent(): boolean -> java.util.List.isEmpty(): boolean -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int -> java.lang.System.identityHashCode(java.lang.Object): int -> java.util.Set.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int -> java.util.List.hashCode(): int -> java.lang.String.hashCode(): int -> java.util.Arrays.hashCode(java.lang.Object[]): int -> java.lang.System.identityHashCode(java.lang.Object): int -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.contains(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.reflect.Field.get(java.lang.Object): java.lang.Object -> java.util.List.size(): int -> java.util.List.set(int,java.lang.Object): java.lang.Object -> java.lang.CharSequence.length(): int -> java.util.Optional.empty(): java.util.Optional -> java.util.Optional.isPresent(): boolean -> java.util.List.isEmpty(): boolean -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int -> java.lang.System.identityHashCode(java.lang.Object): int -> java.util.Set.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int -> java.util.Set.add(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Set.add(java.lang.Object): boolean -> java.util.List.hashCode(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Iterable.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Collections.emptyIterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Collections.emptySet(): java.util.Set -> java.util.Iterator.hasNext(): boolean
 [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.Iterable.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.reflect.Field.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.Object.getClass(): java.lang.Class [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int [EXIT] [EXIT] -> java.util.Set.contains(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Object.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] -> java.util.List.contains(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.Object.getClass(): java.lang.Class [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.System.identityHashCode(java.lang.Object): int [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.lang.ref.Reference.get(): java.lang.Object [EXIT] [CALL] [EXIT] [CALL] -> java.lang.ref.Reference.get(): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.size(): int -> java.util.List.set(int,java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Class.getName(): java.lang.String -> java.lang.Class.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.lang.Iterable.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int [CALL] [CALL] -> java.util.List.hashCode(): int [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.hashCode(): int -> java.util.Arrays.hashCode(java.lang.Object[]): int [EXIT] [EXIT] [CALL] [CALL] -> java.lang.String.hashCode(): int -> java.util.Arrays.hashCode(java.lang.Object[]): int [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.System.identityHashCode(java.lang.Object): int [EXIT] [EXIT] -> java.util.Set.contains(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Set.contains(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.reflect.Field.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.size(): int -> java.util.List.set(int,java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Optional.empty(): java.util.Optional [EXIT] -> java.util.Optional.isPresent(): boolean [EXIT] -> java.util.List.isEmpty(): boolean [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int [CALL] [EXIT] -> java.lang.System.identityHashCode(java.lang.Object): int [EXIT] [EXIT] -> java.util.Set.add(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.addAll(java.util.Collection): boolean [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int [CALL] [CALL] -> java.util.List.hashCode(): int [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.hashCode(): int -> java.util.Arrays.hashCode(java.lang.Object[]): int [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.System.identityHashCode(java.lang.Object): int [EXIT] [EXIT] -> java.util.Set.contains(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Set.contains(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.reflect.Field.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.size(): int -> java.util.List.set(int,java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.CharSequence.length(): int [EXIT] [EXIT] -> java.util.Optional.empty(): java.util.Optional [EXIT] -> java.util.Optional.isPresent(): boolean [EXIT] -> java.util.List.isEmpty(): boolean [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int [CALL] [EXIT] -> java.lang.System.identityHashCode(java.lang.Object): int [EXIT] [EXIT] -> java.util.Set.add(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.System.identityHashCode(java.lang.Object): int -> java.lang.Object.hashCode(): int [EXIT] [EXIT] -> java.util.Set.add(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] -> java.util.Set.add(java.lang.Object): boolean [CALL] [CALL] -> java.util.List.hashCode(): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.iterator(): java.util.Iterator [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.Iterable.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Collections.emptyIterator(): java.util.Iterator [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Collections.emptySet(): java.util.Set [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT]