org_apache_struts_beanvalidation_BeanValidationInterceptorTest_java
org.hibernate.validator.internal.metadata.descriptor.ConstraintDescriptorImpl
public ConstraintDescriptorImpl(ConstraintHelper constraintHelper, Constrainable constrainable, ConstraintAnnotationDescriptor<T> annotationDescriptor, ConstraintLocation.ConstraintLocationKind constraintLocationKind, Class<?> implicitGroup, ConstraintOrigin definedOn, ConstraintType externalConstraintType) {
        this.annotationDescriptor = annotationDescriptor;
        this.constraintLocationKind = constraintLocationKind;
        this.definedOn = definedOn;
        this.isReportAsSingleInvalidConstraint = annotationDescriptor.getType().isAnnotationPresent(ReportAsSingleViolation.class);
        this.groups = ConstraintDescriptorImpl.buildGroupSet(annotationDescriptor, implicitGroup);
        this.payloads = ConstraintDescriptorImpl.buildPayloadSet(annotationDescriptor);
        this.valueUnwrapping = ConstraintDescriptorImpl.determineValueUnwrapping(this.payloads, constrainable, annotationDescriptor.getType());
        this.validationAppliesTo = ConstraintDescriptorImpl.determineValidationAppliesTo(annotationDescriptor);
        this.constraintValidatorClasses = constraintHelper.getAllValidatorDescriptors(annotationDescriptor.getType()).stream().map(ConstraintValidatorDescriptor::getValidatorClass).collect(Collectors.collectingAndThen(Collectors.toList(), CollectionHelper::toImmutableList));
        List crossParameterValidatorDescriptors = CollectionHelper.toImmutableList(constraintHelper.findValidatorDescriptors(annotationDescriptor.getType(), ValidationTarget.PARAMETERS));
        List genericValidatorDescriptors = CollectionHelper.toImmutableList(constraintHelper.findValidatorDescriptors(annotationDescriptor.getType(), ValidationTarget.ANNOTATED_ELEMENT));
        if (crossParameterValidatorDescriptors.size() > 1) {
            throw LOG.getMultipleCrossParameterValidatorClassesException(annotationDescriptor.getType());
        }
        this.constraintType = this.determineConstraintType(annotationDescriptor.getType(), constrainable, !genericValidatorDescriptors.isEmpty(), !crossParameterValidatorDescriptors.isEmpty(), externalConstraintType);
        this.composingConstraints = this.parseComposingConstraints(constraintHelper, constrainable, this.constraintType);
        this.compositionType = this.parseCompositionType(constraintHelper);
        this.validateComposingConstraintTypes();
        this.matchingConstraintValidatorDescriptors = this.constraintType == ConstraintType.GENERIC ? CollectionHelper.toImmutableList(genericValidatorDescriptors) : CollectionHelper.toImmutableList(crossParameterValidatorDescriptors);
        this.hashCode = annotationDescriptor.hashCode();
    }
 -> java.lang.Class.isAnnotationPresent(java.lang.Class): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.Set.addAll(java.util.Collection): boolean -> java.util.Set.size(): int -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.next(): java.lang.Object -> java.util.Collections.singleton(java.lang.Object): java.util.Set -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.Set.addAll(java.util.Collection): boolean -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.concurrent.ConcurrentMap.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.map(java.util.function.Function): java.util.stream.Stream -> java.util.stream.Collectors.toList(): java.util.stream.Collector -> java.util.stream.Collectors.collectingAndThen(java.util.stream.Collector,java.util.function.Function): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.Collections.singletonList(java.lang.Object): java.util.List -> java.util.concurrent.ConcurrentMap.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.filter(java.util.function.Predicate): java.util.stream.Stream -> java.util.stream.Collectors.toList(): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object -> java.util.EnumSet.contains(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.Collections.emptyList(): java.util.List -> java.util.concurrent.ConcurrentMap.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.filter(java.util.function.Predicate): java.util.stream.Stream -> java.util.stream.Collectors.toList(): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object -> java.util.EnumSet.contains(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.Collections.singletonList(java.lang.Object): java.util.List -> java.util.List.size(): int -> java.util.List.isEmpty(): boolean -> java.util.List.isEmpty(): boolean -> java.lang.System.getSecurityManager(): java.lang.SecurityManager -> java.security.PrivilegedAction.run(): java.lang.Object -> java.lang.Class.getDeclaredMethods(): java.lang.reflect.Method[] -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.Class.getDeclaredAnnotations(): java.lang.annotation.Annotation[] -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set -> java.lang.Class.getDeclaredAnnotations(): java.lang.annotation.Annotation[] -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.Collections.singletonList(java.lang.Object): java.util.List
 [CALL] [CALL] [EXIT] -> java.lang.Class.isAnnotationPresent(java.lang.Class): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] [EXIT] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.Set.addAll(java.util.Collection): boolean [CALL] -> java.util.Set.size(): int -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.next(): java.lang.Object -> java.util.Collections.singleton(java.lang.Object): java.util.Set [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] [EXIT] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.Set.addAll(java.util.Collection): boolean [CALL] -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.contains(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.concurrent.ConcurrentMap.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object [EXIT] [EXIT] [EXIT] -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.map(java.util.function.Function): java.util.stream.Stream -> java.util.stream.Collectors.toList(): java.util.stream.Collector -> java.util.stream.Collectors.collectingAndThen(java.util.stream.Collector,java.util.function.Function): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.Collections.singletonList(java.lang.Object): java.util.List [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.concurrent.ConcurrentMap.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object [EXIT] [EXIT] [EXIT] -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.filter(java.util.function.Predicate): java.util.stream.Stream -> java.util.stream.Collectors.toList(): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object [CALL] [CALL] [CALL] [EXIT] -> java.util.EnumSet.contains(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.Collections.emptyList(): java.util.List [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.concurrent.ConcurrentMap.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object [EXIT] [EXIT] [EXIT] -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.filter(java.util.function.Predicate): java.util.stream.Stream -> java.util.stream.Collectors.toList(): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object [CALL] [CALL] [CALL] [EXIT] -> java.util.EnumSet.contains(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.Collections.singletonList(java.lang.Object): java.util.List [EXIT] -> java.util.List.size(): int [CALL] [EXIT] -> java.util.List.isEmpty(): boolean -> java.util.List.isEmpty(): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.System.getSecurityManager(): java.lang.SecurityManager -> java.security.PrivilegedAction.run(): java.lang.Object [CALL] [CALL] -> java.lang.Class.getDeclaredMethods(): java.lang.reflect.Method[] [EXIT] [EXIT] [EXIT] -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Method.getAnnotation(java.lang.Class): java.lang.annotation.Annotation [EXIT] [CALL] [EXIT] -> java.lang.Class.getDeclaredAnnotations(): java.lang.annotation.Annotation[] -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean [CALL] -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.Class.getDeclaredAnnotations(): java.lang.annotation.Annotation[] -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.util.List.contains(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.Collections.singletonList(java.lang.Object): java.util.List [EXIT] [CALL] [EXIT] [EXIT]