org_apache_struts_beanvalidation_BeanValidationInterceptorTest_java
org.hibernate.validator.internal.metadata.provider.AnnotationMetaDataProvider
private ConstrainedExecutable findExecutableMetaData(Executable executable) {
        CascadingMetaDataBuilder cascadingMetaDataBuilder;
        Set<MetaConstraint<?>> typeArgumentsConstraints;
        Set<MetaConstraint<?>> returnValueConstraints;
        JavaBeanExecutable<?> javaBeanExecutable = this.javaBeanHelper.executable(executable);
        List<ConstrainedParameter> parameterConstraints = this.getParameterMetaData(javaBeanExecutable);
        Map<ConstraintDescriptorImpl.ConstraintType, List<ConstraintDescriptorImpl>> executableConstraints = this.findConstraints(javaBeanExecutable, ConstraintLocation.ConstraintLocationKind.of(javaBeanExecutable.getConstrainedElementKind())).stream().collect(Collectors.groupingBy(ConstraintDescriptorImpl::getConstraintType));
        Set<Object> crossParameterConstraints = this.annotationProcessingOptions.areCrossParameterConstraintsIgnoredFor(javaBeanExecutable) ? Collections.emptySet() : this.convertToMetaConstraints(executableConstraints.get((Object)ConstraintDescriptorImpl.ConstraintType.CROSS_PARAMETER), javaBeanExecutable);
        if (this.annotationProcessingOptions.areReturnValueConstraintsIgnoredFor(javaBeanExecutable)) {
            returnValueConstraints = Collections.emptySet();
            typeArgumentsConstraints = Collections.emptySet();
            cascadingMetaDataBuilder = CascadingMetaDataBuilder.nonCascading();
        } else {
            typeArgumentsConstraints = this.findTypeAnnotationConstraints(javaBeanExecutable);
            returnValueConstraints = this.convertToMetaConstraints(executableConstraints.get((Object)ConstraintDescriptorImpl.ConstraintType.GENERIC), javaBeanExecutable);
            cascadingMetaDataBuilder = this.findCascadingMetaData(javaBeanExecutable);
        }
        return new ConstrainedExecutable(ConfigurationSource.ANNOTATION, javaBeanExecutable, parameterConstraints, crossParameterConstraints, returnValueConstraints, typeArgumentsConstraints, cascadingMetaDataBuilder);
    }
 -> java.lang.reflect.Executable.getDeclaringClass(): java.lang.Class -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.Optional.empty(): java.util.Optional -> java.util.Optional.isPresent(): boolean -> java.lang.reflect.Method.getGenericReturnType(): java.lang.reflect.Type -> java.lang.reflect.Method.getGenericReturnType(): java.lang.reflect.Type -> java.lang.Class.isPrimitive(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Executable.getParameterCount(): int -> java.lang.reflect.Executable.getParameterCount(): int -> java.lang.reflect.Executable.getParameters(): java.lang.reflect.Parameter[] -> java.lang.reflect.Executable.getParameterTypes(): java.lang.Class[] -> java.lang.reflect.Executable.getGenericParameterTypes(): java.lang.reflect.Type[] -> java.util.List.add(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.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.reflect.Executable.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.reflect.Parameter.getDeclaredAnnotations(): java.lang.annotation.Annotation[] -> java.util.List.isEmpty(): boolean -> java.util.Collections.emptySet(): java.util.Set -> java.lang.reflect.Parameter.getAnnotatedType(): java.lang.reflect.AnnotatedType -> java.util.Collections.emptySet(): java.util.Set -> java.lang.reflect.Parameter.getAnnotatedType(): java.lang.reflect.AnnotatedType -> java.lang.reflect.Parameter.getType(): java.lang.Class -> java.lang.Class.getTypeParameters(): java.lang.reflect.TypeVariable[] -> java.util.Collections.emptyMap(): java.util.Map -> java.lang.reflect.Parameter.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Parameter.getAnnotatedType(): java.lang.reflect.AnnotatedType -> java.lang.reflect.AnnotatedType.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.AnnotatedType.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.util.Collections.emptyMap(): java.util.Map -> java.util.Map.size(): int -> java.util.Collections.emptyMap(): java.util.Map -> java.util.Map.size(): int -> java.util.Collections.emptyMap(): java.util.Map -> java.util.Map.isEmpty(): boolean -> java.util.Map.values(): java.util.Collection -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Executable.getDeclaredAnnotations(): java.lang.annotation.Annotation[] -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Collectors.groupingBy(java.util.function.Function): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.reflect.Executable.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.util.Map.containsKey(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Collections.emptySet(): java.util.Set -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.reflect.Executable.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.reflect.Executable.getAnnotatedReturnType(): java.lang.reflect.AnnotatedType -> java.util.Collections.emptySet(): java.util.Set -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Collections.emptySet(): java.util.Set -> java.lang.reflect.Executable.getAnnotatedReturnType(): java.lang.reflect.AnnotatedType -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Class.getTypeParameters(): java.lang.reflect.TypeVariable[] -> java.util.Collections.emptyMap(): java.util.Map -> java.lang.reflect.Executable.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.Executable.getAnnotatedReturnType(): java.lang.reflect.AnnotatedType -> java.lang.reflect.AnnotatedType.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.AnnotatedType.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.util.Collections.emptyMap(): java.util.Map -> java.util.Map.size(): int -> java.util.Collections.emptyMap(): java.util.Map -> java.util.Map.size(): int -> java.util.Collections.emptyMap(): java.util.Map -> java.util.Map.isEmpty(): boolean -> java.util.Map.values(): java.util.Collection -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set -> 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.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Set.isEmpty(): boolean -> java.util.Set.isEmpty(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Set.isEmpty(): boolean
 [CALL] [CALL] -> java.lang.reflect.Executable.getDeclaringClass(): java.lang.Class [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [EXIT] [EXIT] -> java.util.Optional.empty(): java.util.Optional [EXIT] -> java.util.Optional.isPresent(): boolean [CALL] -> java.lang.reflect.Method.getGenericReturnType(): java.lang.reflect.Type [CALL] [CALL] -> java.lang.reflect.Method.getGenericReturnType(): java.lang.reflect.Type [EXIT] [CALL] -> java.lang.Class.isPrimitive(): boolean [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] -> java.lang.reflect.Executable.getParameterCount(): int -> java.lang.reflect.Executable.getParameterCount(): int -> java.lang.reflect.Executable.getParameters(): java.lang.reflect.Parameter[] -> java.lang.reflect.Executable.getParameterTypes(): java.lang.Class[] -> java.lang.reflect.Executable.getGenericParameterTypes(): java.lang.reflect.Type[] [CALL] [EXIT] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [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] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.List.isEmpty(): boolean [EXIT] [CALL] [EXIT] -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] -> java.lang.Object.hashCode(): int [CALL] -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [CALL] [CALL] -> java.lang.reflect.Executable.getDeclaringClass(): java.lang.Class [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int [EXIT] [CALL] -> java.util.Map.containsKey(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Parameter.getDeclaredAnnotations(): java.lang.annotation.Annotation[] [EXIT] [EXIT] -> java.util.List.isEmpty(): boolean -> java.util.Collections.emptySet(): java.util.Set [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Parameter.getAnnotatedType(): java.lang.reflect.AnnotatedType [EXIT] [CALL] -> java.util.Collections.emptySet(): java.util.Set [EXIT] [EXIT] [CALL] [CALL] -> java.lang.reflect.Parameter.getAnnotatedType(): java.lang.reflect.AnnotatedType [EXIT] [CALL] -> java.lang.reflect.Parameter.getType(): java.lang.Class -> java.lang.Class.getTypeParameters(): java.lang.reflect.TypeVariable[] [EXIT] [CALL] -> java.util.Collections.emptyMap(): java.util.Map [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Parameter.getAnnotation(java.lang.Class): java.lang.annotation.Annotation [EXIT] [CALL] -> java.lang.reflect.Parameter.getAnnotatedType(): java.lang.reflect.AnnotatedType [EXIT] [CALL] -> java.lang.reflect.AnnotatedType.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.AnnotatedType.getAnnotation(java.lang.Class): java.lang.annotation.Annotation [CALL] -> java.util.Collections.emptyMap(): java.util.Map [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.size(): int -> java.util.Collections.emptyMap(): java.util.Map [EXIT] [CALL] -> java.util.Map.size(): int -> java.util.Collections.emptyMap(): java.util.Map [EXIT] -> java.util.Map.isEmpty(): boolean -> java.util.Map.values(): java.util.Collection -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set [EXIT] [CALL] -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Executable.getDeclaredAnnotations(): java.lang.annotation.Annotation[] [EXIT] [EXIT] [EXIT] -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Collectors.groupingBy(java.util.function.Function): java.util.stream.Collector -> java.util.stream.Stream.collect(java.util.stream.Collector): java.lang.Object [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int [EXIT] [CALL] [CALL] -> java.lang.reflect.Executable.getDeclaringClass(): java.lang.Class [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int [EXIT] [CALL] -> java.util.Map.containsKey(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] -> java.util.Collections.emptySet(): java.util.Set [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int [EXIT] [CALL] [CALL] -> java.lang.reflect.Executable.getDeclaringClass(): java.lang.Class [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int [EXIT] [CALL] -> java.util.Map.containsKey(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Executable.getAnnotatedReturnType(): java.lang.reflect.AnnotatedType [EXIT] [CALL] -> java.util.Collections.emptySet(): java.util.Set [EXIT] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] -> java.util.Collections.emptySet(): java.util.Set [EXIT] [CALL] [CALL] -> java.lang.reflect.Executable.getAnnotatedReturnType(): java.lang.reflect.AnnotatedType [EXIT] [CALL] -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Class.getTypeParameters(): java.lang.reflect.TypeVariable[] [EXIT] [CALL] -> java.util.Collections.emptyMap(): java.util.Map [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Executable.getAnnotation(java.lang.Class): java.lang.annotation.Annotation [EXIT] [CALL] -> java.lang.reflect.Executable.getAnnotatedReturnType(): java.lang.reflect.AnnotatedType [EXIT] [CALL] -> java.lang.reflect.AnnotatedType.getAnnotation(java.lang.Class): java.lang.annotation.Annotation -> java.lang.reflect.AnnotatedType.getAnnotation(java.lang.Class): java.lang.annotation.Annotation [CALL] -> java.util.Collections.emptyMap(): java.util.Map [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.size(): int -> java.util.Collections.emptyMap(): java.util.Map [EXIT] [CALL] -> java.util.Map.size(): int -> java.util.Collections.emptyMap(): java.util.Map [EXIT] -> java.util.Map.isEmpty(): boolean -> java.util.Map.values(): java.util.Collection -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set [EXIT] [CALL] -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set [EXIT] [EXIT] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [CALL] -> java.util.Set.size(): int -> java.util.Collections.emptySet(): java.util.Set [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] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Set.isEmpty(): boolean -> java.util.Set.isEmpty(): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.util.Set.isEmpty(): boolean [EXIT] [EXIT]