public class io.micronaut.validation.validator.DefaultValidator implements io.micronaut.validation.validator.Validator, io.micronaut.validation.validator.ExecutableMethodValidator, io.micronaut.validation.validator.ReactiveValidator, io.micronaut.inject.annotation.AnnotatedElementValidator, io.micronaut.inject.validation.BeanDefinitionValidator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.micronaut.validation.validator.DefaultValidator
  super_class: java.lang.Object
{
  private static final java.util.List<java.lang.Class> DEFAULT_GROUPS;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/Class;>;

  private final io.micronaut.validation.validator.constraints.ConstraintValidatorRegistry constraintValidatorRegistry;
    descriptor: Lio/micronaut/validation/validator/constraints/ConstraintValidatorRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.validation.ClockProvider clockProvider;
    descriptor: Ljavax/validation/ClockProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.micronaut.validation.validator.extractors.ValueExtractorRegistry valueExtractorRegistry;
    descriptor: Lio/micronaut/validation/validator/extractors/ValueExtractorRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.validation.TraversableResolver traversableResolver;
    descriptor: Ljavax/validation/TraversableResolver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.micronaut.context.ExecutionHandleLocator executionHandleLocator;
    descriptor: Lio/micronaut/context/ExecutionHandleLocator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.micronaut.context.MessageSource messageSource;
    descriptor: Lio/micronaut/context/MessageSource;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 86
            ldc Ljavax/validation/groups/Default;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            putstatic io.micronaut.validation.validator.DefaultValidator.DEFAULT_GROUPS:Ljava/util/List;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(io.micronaut.validation.validator.ValidatorConfiguration);
    descriptor: (Lio/micronaut/validation/validator/ValidatorConfiguration;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.validation.validator.ValidatorConfiguration configuration
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 102
            ldc "configuration"
            aload 1 /* configuration */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 103
            aload 0 /* this */
            aload 1 /* configuration */
            invokeinterface io.micronaut.validation.validator.ValidatorConfiguration.getConstraintValidatorRegistry:()Lio/micronaut/validation/validator/constraints/ConstraintValidatorRegistry;
            putfield io.micronaut.validation.validator.DefaultValidator.constraintValidatorRegistry:Lio/micronaut/validation/validator/constraints/ConstraintValidatorRegistry;
         3: .line 104
            aload 0 /* this */
            aload 1 /* configuration */
            invokeinterface io.micronaut.validation.validator.ValidatorConfiguration.getClockProvider:()Ljavax/validation/ClockProvider;
            putfield io.micronaut.validation.validator.DefaultValidator.clockProvider:Ljavax/validation/ClockProvider;
         4: .line 105
            aload 0 /* this */
            aload 1 /* configuration */
            invokeinterface io.micronaut.validation.validator.ValidatorConfiguration.getValueExtractorRegistry:()Lio/micronaut/validation/validator/extractors/ValueExtractorRegistry;
            putfield io.micronaut.validation.validator.DefaultValidator.valueExtractorRegistry:Lio/micronaut/validation/validator/extractors/ValueExtractorRegistry;
         5: .line 106
            aload 0 /* this */
            aload 1 /* configuration */
            invokeinterface io.micronaut.validation.validator.ValidatorConfiguration.getTraversableResolver:()Ljavax/validation/TraversableResolver;
            putfield io.micronaut.validation.validator.DefaultValidator.traversableResolver:Ljavax/validation/TraversableResolver;
         6: .line 107
            aload 0 /* this */
            aload 1 /* configuration */
            invokeinterface io.micronaut.validation.validator.ValidatorConfiguration.getExecutionHandleLocator:()Lio/micronaut/context/ExecutionHandleLocator;
            putfield io.micronaut.validation.validator.DefaultValidator.executionHandleLocator:Lio/micronaut/context/ExecutionHandleLocator;
         7: .line 108
            aload 0 /* this */
            aload 1 /* configuration */
            invokeinterface io.micronaut.validation.validator.ValidatorConfiguration.getMessageSource:()Lio/micronaut/context/MessageSource;
            putfield io.micronaut.validation.validator.DefaultValidator.messageSource:Lio/micronaut/context/MessageSource;
         8: .line 109
            return
        end local 1 // io.micronaut.validation.validator.ValidatorConfiguration configuration
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lio/micronaut/validation/validator/DefaultValidator;
            0    9     1  configuration  Lio/micronaut/validation/validator/ValidatorConfiguration;
    RuntimeVisibleAnnotations: 
      javax.inject.Inject()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
               Name  Flags
      configuration  

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validate(T, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Object object
        start local 2 // java.lang.Class[] groups
         0: .line 115
            ldc "object"
            aload 1 /* object */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 116
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.getBeanIntrospection:(Ljava/lang/Object;)Lio/micronaut/core/beans/BeanIntrospection;
            astore 3 /* introspection */
        start local 3 // io.micronaut.core.beans.BeanIntrospection introspection
         2: .line 117
            aload 3 /* introspection */
            ifnonnull 4
         3: .line 118
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         4: .line 120
      StackMap locals: io.micronaut.core.beans.BeanIntrospection
      StackMap stack:
            aload 0 /* this */
            aload 3 /* introspection */
            aload 1 /* object */
            aload 2 /* groups */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validate:(Lio/micronaut/core/beans/BeanIntrospection;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
            areturn
        end local 3 // io.micronaut.core.beans.BeanIntrospection introspection
        end local 2 // java.lang.Class[] groups
        end local 1 // java.lang.Object object
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lio/micronaut/validation/validator/DefaultValidator;
            0    5     1         object  TT;
            0    5     2         groups  [Ljava/lang/Class;
            2    5     3  introspection  Lio/micronaut/core/beans/BeanIntrospection<TT;>;
    Signature: <T:Ljava/lang/Object;>(TT;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
        Name  Flags
      object  
      groups  

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validate(io.micronaut.core.beans.BeanIntrospection<T>, T, java.lang.Class<?>[]);
    descriptor: (Lio/micronaut/core/beans/BeanIntrospection;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=9, locals=9, args_size=4
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.core.beans.BeanIntrospection introspection
        start local 2 // java.lang.Object object
        start local 3 // java.lang.Class[] groups
         0: .line 135
            aload 1 /* introspection */
            ifnonnull 2
         1: .line 136
            new javax.validation.ValidationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Passed object ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* object */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] cannot be introspected. Please annotate with @Introspected"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.validation.ValidationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 140
      StackMap locals:
      StackMap stack:
            aload 1 /* introspection */
            ldc Ljavax/validation/Constraint;
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getIndexedProperties:(Ljava/lang/Class;)Ljava/util/Collection;
         3: .line 139
            astore 4 /* constrainedProperties */
        start local 4 // java.util.Collection constrainedProperties
         4: .line 143
            aload 1 /* introspection */
            ldc Ljavax/validation/Valid;
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getIndexedProperties:(Ljava/lang/Class;)Ljava/util/Collection;
         5: .line 142
            astore 5 /* cascadeProperties */
        start local 5 // java.util.Collection cascadeProperties
         6: .line 145
            aload 1 /* introspection */
            ldc Ljavax/validation/Constraint;
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getAnnotationTypesByStereotype:(Ljava/lang/Class;)Ljava/util/List;
            astore 6 /* pojoConstraints */
        start local 6 // java.util.List pojoConstraints
         7: .line 147
            aload 4 /* constrainedProperties */
            invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
            ifne 10
         8: .line 148
            aload 5 /* cascadeProperties */
            invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
            ifne 10
         9: .line 149
            aload 6 /* pojoConstraints */
            invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
            ifeq 22
        10: .line 151
      StackMap locals: java.util.Collection java.util.Collection java.util.List
      StackMap stack:
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
            dup
            aload 0 /* this */
            aload 2 /* object */
            aload 3 /* groups */
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;[Ljava/lang/Class;)V
            astore 7 /* context */
        start local 7 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        11: .line 152
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
            astore 8 /* overallViolations */
        start local 8 // java.util.Set overallViolations
        12: .line 153
            aload 0 /* this */
        13: .line 154
            aload 1 /* introspection */
        14: .line 155
            aload 2 /* object */
        15: .line 156
            aload 2 /* object */
        16: .line 157
            aload 4 /* constrainedProperties */
        17: .line 158
            aload 5 /* cascadeProperties */
        18: .line 159
            aload 7 /* context */
        19: .line 160
            aload 8 /* overallViolations */
        20: .line 161
            aload 6 /* pojoConstraints */
        21: .line 153
            invokevirtual io.micronaut.validation.validator.DefaultValidator.doValidate:(Lio/micronaut/core/beans/BeanIntrospection;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Collection;Ljava/util/Collection;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/util/List;)Ljava/util/Set;
            areturn
        end local 8 // java.util.Set overallViolations
        end local 7 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        22: .line 164
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 6 // java.util.List pojoConstraints
        end local 5 // java.util.Collection cascadeProperties
        end local 4 // java.util.Collection constrainedProperties
        end local 3 // java.lang.Class[] groups
        end local 2 // java.lang.Object object
        end local 1 // io.micronaut.core.beans.BeanIntrospection introspection
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   23     0                   this  Lio/micronaut/validation/validator/DefaultValidator;
            0   23     1          introspection  Lio/micronaut/core/beans/BeanIntrospection<TT;>;
            0   23     2                 object  TT;
            0   23     3                 groups  [Ljava/lang/Class;
            4   23     4  constrainedProperties  Ljava/util/Collection<+Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;>;
            6   23     5      cascadeProperties  Ljava/util/Collection<Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;>;
            7   23     6        pojoConstraints  Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
           11   22     7                context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
           12   22     8      overallViolations  Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lio/micronaut/core/beans/BeanIntrospection<TT;>;TT;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
               Name  Flags
      introspection  
      object         
      groups         

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateProperty(T, java.lang.String, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=10, locals=11, args_size=4
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Object object
        start local 2 // java.lang.String propertyName
        start local 3 // java.lang.Class[] groups
         0: .line 173
            ldc "object"
            aload 1 /* object */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 174
            ldc "propertyName"
            aload 2 /* propertyName */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 175
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.getBeanIntrospection:(Ljava/lang/Object;)Lio/micronaut/core/beans/BeanIntrospection;
            astore 4 /* introspection */
        start local 4 // io.micronaut.core.beans.BeanIntrospection introspection
         3: .line 176
            aload 4 /* introspection */
            ifnonnull 5
         4: .line 177
            new javax.validation.ValidationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Passed object ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* object */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] cannot be introspected. Please annotate with @Introspected"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.validation.ValidationException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 180
      StackMap locals: io.micronaut.core.beans.BeanIntrospection
      StackMap stack:
            aload 4 /* introspection */
            aload 2 /* propertyName */
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getProperty:(Ljava/lang/String;)Ljava/util/Optional;
            astore 5 /* property */
        start local 5 // java.util.Optional property
         6: .line 182
            aload 5 /* property */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 24
         7: .line 183
            aload 5 /* property */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast io.micronaut.core.beans.BeanProperty
            astore 6 /* constrainedProperty */
        start local 6 // io.micronaut.core.beans.BeanProperty constrainedProperty
         8: .line 184
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
            dup
            aload 0 /* this */
            aload 1 /* object */
            aload 3 /* groups */
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;[Ljava/lang/Class;)V
            astore 7 /* context */
        start local 7 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
         9: .line 185
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
            astore 8 /* overallViolations */
        start local 8 // java.util.Set overallViolations
        10: .line 186
            aload 6 /* constrainedProperty */
            aload 1 /* object */
            invokeinterface io.micronaut.core.beans.BeanProperty.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* propertyValue */
        start local 9 // java.lang.Object propertyValue
        11: .line 189
            aload 1 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 10 /* rootBeanClass */
        start local 10 // java.lang.Class rootBeanClass
        12: .line 191
            aload 0 /* this */
        13: .line 192
            aload 10 /* rootBeanClass */
        14: .line 193
            aload 1 /* object */
        15: .line 194
            aload 1 /* object */
        16: .line 195
            aload 6 /* constrainedProperty */
        17: .line 196
            aload 6 /* constrainedProperty */
            invokeinterface io.micronaut.core.beans.BeanProperty.getType:()Ljava/lang/Class;
        18: .line 197
            aload 9 /* propertyValue */
        19: .line 198
            aload 7 /* context */
        20: .line 199
            aload 8 /* overallViolations */
        21: .line 200
            aconst_null
        22: .line 191
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateConstrainedPropertyInternal:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
        23: .line 203
            aload 8 /* overallViolations */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 10 // java.lang.Class rootBeanClass
        end local 9 // java.lang.Object propertyValue
        end local 8 // java.util.Set overallViolations
        end local 7 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 6 // io.micronaut.core.beans.BeanProperty constrainedProperty
        24: .line 206
      StackMap locals: java.util.Optional
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 5 // java.util.Optional property
        end local 4 // io.micronaut.core.beans.BeanIntrospection introspection
        end local 3 // java.lang.Class[] groups
        end local 2 // java.lang.String propertyName
        end local 1 // java.lang.Object object
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   25     0                 this  Lio/micronaut/validation/validator/DefaultValidator;
            0   25     1               object  TT;
            0   25     2         propertyName  Ljava/lang/String;
            0   25     3               groups  [Ljava/lang/Class;
            3   25     4        introspection  Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;
            6   25     5             property  Ljava/util/Optional<Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;>;
            8   24     6  constrainedProperty  Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;
            9   24     7              context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
           10   24     8    overallViolations  Ljava/util/Set;
           11   24     9        propertyValue  Ljava/lang/Object;
           12   24    10        rootBeanClass  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
              Name  Flags
      object        
      propertyName  
      groups        

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateValue(java.lang.Class<T>, java.lang.String, , java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=9, locals=10, args_size=5
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class beanType
        start local 2 // java.lang.String propertyName
        start local 3 // java.lang.Object value
        start local 4 // java.lang.Class[] groups
         0: .line 216
            ldc "beanType"
            aload 1 /* beanType */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 217
            ldc "propertyName"
            aload 2 /* propertyName */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 219
            aload 0 /* this */
            aload 1 /* beanType */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.getBeanIntrospection:(Ljava/lang/Object;)Lio/micronaut/core/beans/BeanIntrospection;
            astore 5 /* introspection */
        start local 5 // io.micronaut.core.beans.BeanIntrospection introspection
         3: .line 220
            aload 5 /* introspection */
            ifnonnull 5
         4: .line 221
            new javax.validation.ValidationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Passed bean type ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* beanType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] cannot be introspected. Please annotate with @Introspected"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.validation.ValidationException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 224
      StackMap locals: io.micronaut.core.beans.BeanIntrospection
      StackMap stack:
            aload 5 /* introspection */
            aload 2 /* propertyName */
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getProperty:(Ljava/lang/String;)Ljava/util/Optional;
         6: .line 225
            aload 2 /* propertyName */
            aload 1 /* beanType */
            invokedynamic get(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  io/micronaut/validation/validator/DefaultValidator.lambda$0(Ljava/lang/String;Ljava/lang/Class;)Ljavax/validation/ValidationException; (6)
                  ()Ljavax/validation/ValidationException;
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast io.micronaut.core.beans.BeanProperty
         7: .line 224
            astore 6 /* beanProperty */
        start local 6 // io.micronaut.core.beans.BeanProperty beanProperty
         8: .line 228
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
            astore 7 /* overallViolations */
        start local 7 // java.util.HashSet overallViolations
         9: .line 229
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
            dup
            aload 0 /* this */
            aload 4 /* groups */
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.<init>:(Lio/micronaut/validation/validator/DefaultValidator;[Ljava/lang/Class;)V
            astore 8 /* context */
        start local 8 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        10: .line 231
            aload 8 /* context */
            aload 2 /* propertyName */
            aconst_null
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addPropertyNode:(Ljava/lang/String;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)Ljavax/validation/Path$Node;
            pop
        11: .line 233
            aload 0 /* this */
        12: .line 234
            aload 1 /* beanType */
        13: .line 235
            aconst_null
        14: .line 236
            aconst_null
        15: .line 237
            aload 8 /* context */
        16: .line 238
            aload 7 /* overallViolations */
        17: .line 239
            aload 6 /* beanProperty */
            invokeinterface io.micronaut.core.beans.BeanProperty.getType:()Ljava/lang/Class;
        18: .line 240
            aload 6 /* beanProperty */
        19: .line 241
            aload 3 /* value */
        20: .line 233
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validatePropertyInternal:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Object;)V
        21: .line 242
            goto 25
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.String java.lang.Object java.lang.Class[] io.micronaut.core.beans.BeanIntrospection io.micronaut.core.beans.BeanProperty java.util.HashSet io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
      StackMap stack: java.lang.Throwable
        22: astore 9
        23: .line 243
            aload 8 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        24: .line 244
            aload 9
            athrow
        25: .line 243
      StackMap locals:
      StackMap stack:
            aload 8 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        26: .line 247
            aload 7 /* overallViolations */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 8 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 7 // java.util.HashSet overallViolations
        end local 6 // io.micronaut.core.beans.BeanProperty beanProperty
        end local 5 // io.micronaut.core.beans.BeanIntrospection introspection
        end local 4 // java.lang.Class[] groups
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String propertyName
        end local 1 // java.lang.Class beanType
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   27     0               this  Lio/micronaut/validation/validator/DefaultValidator;
            0   27     1           beanType  Ljava/lang/Class<TT;>;
            0   27     2       propertyName  Ljava/lang/String;
            0   27     3              value  Ljava/lang/Object;
            0   27     4             groups  [Ljava/lang/Class;
            3   27     5      introspection  Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;
            8   27     6       beanProperty  Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;
            9   27     7  overallViolations  Ljava/util/HashSet;
           10   27     8            context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
      Exception table:
        from    to  target  type
          10    22      22  any
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
      3:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
              Name  Flags
      beanType      
      propertyName  
      value         
      groups        

  public java.util.Set<java.lang.String> validatedAnnotatedElement(io.micronaut.core.annotation.AnnotatedElement, );
    descriptor: (Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=3
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.core.annotation.AnnotatedElement element
        start local 2 // java.lang.Object value
         0: .line 253
            ldc "element"
            aload 1 /* element */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 254
            aload 1 /* element */
            invokeinterface io.micronaut.core.annotation.AnnotatedElement.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            ldc Ljavax/validation/Constraint;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.hasStereotype:(Ljava/lang/Class;)Z
            ifne 3
         2: .line 255
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         3: .line 258
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
            astore 3 /* overallViolations */
        start local 3 // java.util.Set overallViolations
         4: .line 259
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
            dup
            aload 0 /* this */
            iconst_0
            anewarray java.lang.Class
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.<init>:(Lio/micronaut/validation/validator/DefaultValidator;[Ljava/lang/Class;)V
            astore 4 /* context */
        start local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
         5: .line 261
            aload 4 /* context */
            aload 1 /* element */
            invokeinterface io.micronaut.core.annotation.AnnotatedElement.getName:()Ljava/lang/String;
            aconst_null
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addPropertyNode:(Ljava/lang/String;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)Ljavax/validation/Path$Node;
            pop
         6: .line 263
            aload 0 /* this */
         7: .line 264
            aconst_null
         8: .line 265
            aload 1 /* element */
         9: .line 266
            aload 1 /* element */
        10: .line 267
            aload 4 /* context */
        11: .line 268
            aload 3 /* overallViolations */
        12: .line 269
            aload 2 /* value */
            ifnull 13
            aload 2 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            goto 14
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.core.annotation.AnnotatedElement java.lang.Object java.util.Set io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
      StackMap stack: io.micronaut.validation.validator.DefaultValidator null io.micronaut.core.annotation.AnnotatedElement io.micronaut.core.annotation.AnnotatedElement io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set
        13: ldc Ljava/lang/Object;
        14: .line 270
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.core.annotation.AnnotatedElement java.lang.Object java.util.Set io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
      StackMap stack: io.micronaut.validation.validator.DefaultValidator null io.micronaut.core.annotation.AnnotatedElement io.micronaut.core.annotation.AnnotatedElement io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.lang.Class
            aload 1 /* element */
        15: .line 271
            aload 2 /* value */
        16: .line 263
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validatePropertyInternal:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Object;)V
        17: .line 272
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 5
        19: .line 273
            aload 4 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        20: .line 274
            aload 5
            athrow
        21: .line 273
      StackMap locals:
      StackMap stack:
            aload 4 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        22: .line 277
            aload 3 /* overallViolations */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        23: .line 278
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  javax/validation/ConstraintViolation.getMessage()Ljava/lang/String; (9 itf)
                  (Ljavax/validation/ConstraintViolation;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
        24: .line 277
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 3 // java.util.Set overallViolations
        end local 2 // java.lang.Object value
        end local 1 // io.micronaut.core.annotation.AnnotatedElement element
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0               this  Lio/micronaut/validation/validator/DefaultValidator;
            0   25     1            element  Lio/micronaut/core/annotation/AnnotatedElement;
            0   25     2              value  Ljava/lang/Object;
            4   25     3  overallViolations  Ljava/util/Set<Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;>;
            5   25     4            context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
      Exception table:
        from    to  target  type
           5    18      18  any
    Signature: (Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Object;)Ljava/util/Set<Ljava/lang/String;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
         Name  Flags
      element  
      value    

  public <T> T createValid(java.lang.Class<T>, []);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class beanType
        start local 2 // java.lang.Object[] arguments
         0: .line 284
            ldc "type"
            aload 1 /* beanType */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 287
            aload 0 /* this */
            aload 1 /* beanType */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.getBeanIntrospection:(Ljava/lang/Object;)Lio/micronaut/core/beans/BeanIntrospection;
            astore 3 /* introspection */
        start local 3 // io.micronaut.core.beans.BeanIntrospection introspection
         2: .line 288
            aload 3 /* introspection */
            ifnonnull 4
         3: .line 289
            new javax.validation.ValidationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Passed bean type ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* beanType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] cannot be introspected. Please annotate with @Introspected"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.validation.ValidationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 292
      StackMap locals: io.micronaut.core.beans.BeanIntrospection
      StackMap stack:
            aload 0 /* this */
            aload 3 /* introspection */
            aload 2 /* arguments */
            iconst_0
            anewarray java.lang.Class
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateConstructorParameters:(Lio/micronaut/core/beans/BeanIntrospection;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
            astore 4 /* constraintViolations */
        start local 4 // java.util.Set constraintViolations
         5: .line 294
            aload 4 /* constraintViolations */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 11
         6: .line 295
            aload 3 /* introspection */
            aload 2 /* arguments */
            invokeinterface io.micronaut.core.beans.BeanIntrospection.instantiate:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* instance */
        start local 5 // java.lang.Object instance
         7: .line 296
            aload 0 /* this */
            aload 3 /* introspection */
            aload 5 /* instance */
            iconst_0
            anewarray java.lang.Class
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validate:(Lio/micronaut/core/beans/BeanIntrospection;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
            astore 6 /* errors */
        start local 6 // java.util.Set errors
         8: .line 297
            aload 6 /* errors */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 10
         9: .line 298
            aload 5 /* instance */
            areturn
        10: .line 300
      StackMap locals: java.util.Set java.lang.Object java.util.Set
      StackMap stack:
            new javax.validation.ConstraintViolationException
            dup
            aload 6 /* errors */
            invokespecial javax.validation.ConstraintViolationException.<init>:(Ljava/util/Set;)V
            athrow
        end local 6 // java.util.Set errors
        end local 5 // java.lang.Object instance
        11: .line 304
      StackMap locals:
      StackMap stack:
            new javax.validation.ConstraintViolationException
            dup
            aload 4 /* constraintViolations */
            invokespecial javax.validation.ConstraintViolationException.<init>:(Ljava/util/Set;)V
            athrow
        end local 4 // java.util.Set constraintViolations
        end local 3 // io.micronaut.core.beans.BeanIntrospection introspection
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Class beanType
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lio/micronaut/validation/validator/DefaultValidator;
            0   12     1              beanType  Ljava/lang/Class<TT;>;
            0   12     2             arguments  [Ljava/lang/Object;
            2   12     3         introspection  Lio/micronaut/core/beans/BeanIntrospection<TT;>;
            5   12     4  constraintViolations  Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
            7   11     5              instance  TT;
            8   11     6                errors  Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    Exceptions:
      throws javax.validation.ConstraintViolationException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;[Ljava/lang/Object;)TT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
    MethodParameters:
           Name  Flags
      beanType   
      arguments  

  public javax.validation.metadata.BeanDescriptor getConstraintsForClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljavax/validation/metadata/BeanDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class clazz
         0: .line 309
            getstatic io.micronaut.core.beans.BeanIntrospector.SHARED:Lio/micronaut/core/beans/BeanIntrospector;
            aload 1 /* clazz */
            invokeinterface io.micronaut.core.beans.BeanIntrospector.findIntrospection:(Ljava/lang/Class;)Ljava/util/Optional;
         1: .line 310
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/micronaut/validation/validator/IntrospectedBeanDescriptor.<init>(Lio/micronaut/core/beans/BeanIntrospection;)V (8)
                  (Lio/micronaut/core/beans/BeanIntrospection;)Ljavax/validation/metadata/BeanDescriptor;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
         2: .line 311
            aload 0 /* this */
            aload 1 /* clazz */
            invokedynamic get(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Class;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  io/micronaut/validation/validator/DefaultValidator.lambda$3(Ljava/lang/Class;)Ljavax/validation/metadata/BeanDescriptor; (7)
                  ()Ljavax/validation/metadata/BeanDescriptor;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast javax.validation.metadata.BeanDescriptor
         3: .line 309
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/micronaut/validation/validator/DefaultValidator;
            0    4     1  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljavax/validation/metadata/BeanDescriptor;
    MethodParameters:
       Name  Flags
      clazz  

  public <T> T unwrap(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class type
         0: .line 316
            new java.lang.UnsupportedOperationException
            dup
            ldc "Validator unwrapping not supported by this implementation"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Class type
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/validation/validator/DefaultValidator;
            0    1     1  type  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      type  

  public io.micronaut.validation.validator.ExecutableMethodValidator forExecutables();
    descriptor: ()Lio/micronaut/validation/validator/ExecutableMethodValidator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
         0: .line 322
            aload 0 /* this */
            areturn
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/validation/validator/DefaultValidator;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateParameters(T, io.micronaut.inject.ExecutableMethod, [], java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Object;Lio/micronaut/inject/ExecutableMethod;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=9, locals=12, args_size=5
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Object object
        start local 2 // io.micronaut.inject.ExecutableMethod method
        start local 3 // java.lang.Object[] parameterValues
        start local 4 // java.lang.Class[] groups
         0: .line 332
            ldc "parameterValues"
            aload 3 /* parameterValues */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 333
            ldc "object"
            aload 1 /* object */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 334
            ldc "method"
            aload 2 /* method */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 335
            aload 2 /* method */
            invokeinterface io.micronaut.inject.ExecutableMethod.getArguments:()[Lio/micronaut/core/type/Argument;
            astore 5 /* arguments */
        start local 5 // io.micronaut.core.type.Argument[] arguments
         4: .line 336
            aload 5 /* arguments */
            arraylength
            istore 6 /* argLen */
        start local 6 // int argLen
         5: .line 337
            iload 6 /* argLen */
            aload 3 /* parameterValues */
            arraylength
            if_icmpeq 7
         6: .line 338
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The method parameter array must have exactly "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* argLen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " elements."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 341
      StackMap locals: io.micronaut.core.type.Argument[] int
      StackMap stack:
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
            dup
            aload 0 /* this */
            aload 1 /* object */
            aload 4 /* groups */
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;[Ljava/lang/Class;)V
            astore 7 /* context */
        start local 7 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
         8: .line 342
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
            astore 8 /* overallViolations */
        start local 8 // java.util.Set overallViolations
         9: .line 344
            aload 7 /* context */
            aload 2 /* method */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addMethodNode:(Lio/micronaut/inject/MethodReference;)Ljavax/validation/Path$Node;
            astore 9 /* node */
        start local 9 // javax.validation.Path$Node node
        10: .line 347
            aload 1 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 10 /* rootClass */
        start local 10 // java.lang.Class rootClass
        11: .line 348
            aload 0 /* this */
        12: .line 349
            aload 10 /* rootClass */
        13: .line 350
            aload 1 /* object */
        14: .line 351
            aload 3 /* parameterValues */
        15: .line 352
            aload 5 /* arguments */
        16: .line 353
            iload 6 /* argLen */
        17: .line 354
            aload 7 /* context */
        18: .line 355
            aload 8 /* overallViolations */
        19: .line 356
            aload 9 /* node */
        20: .line 348
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateParametersInternal:(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;[Lio/micronaut/core/type/Argument;ILio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljavax/validation/Path$Node;)V
        end local 10 // java.lang.Class rootClass
        21: .line 358
            goto 25
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Object io.micronaut.inject.ExecutableMethod java.lang.Object[] java.lang.Class[] io.micronaut.core.type.Argument[] int io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set javax.validation.Path$Node
      StackMap stack: java.lang.Throwable
        22: astore 11
        23: .line 359
            aload 7 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        24: .line 360
            aload 11
            athrow
        25: .line 359
      StackMap locals:
      StackMap stack:
            aload 7 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        26: .line 362
            aload 8 /* overallViolations */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 9 // javax.validation.Path$Node node
        end local 8 // java.util.Set overallViolations
        end local 7 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 6 // int argLen
        end local 5 // io.micronaut.core.type.Argument[] arguments
        end local 4 // java.lang.Class[] groups
        end local 3 // java.lang.Object[] parameterValues
        end local 2 // io.micronaut.inject.ExecutableMethod method
        end local 1 // java.lang.Object object
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   27     0               this  Lio/micronaut/validation/validator/DefaultValidator;
            0   27     1             object  TT;
            0   27     2             method  Lio/micronaut/inject/ExecutableMethod;
            0   27     3    parameterValues  [Ljava/lang/Object;
            0   27     4             groups  [Ljava/lang/Class;
            4   27     5          arguments  [Lio/micronaut/core/type/Argument;
            5   27     6             argLen  I
            8   27     7            context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            9   27     8  overallViolations  Ljava/util/Set;
           10   27     9               node  Ljavax/validation/Path$Node;
           11   21    10          rootClass  Ljava/lang/Class<TT;>;
      Exception table:
        from    to  target  type
          10    22      22  any
    Signature: <T:Ljava/lang/Object;>(TT;Lio/micronaut/inject/ExecutableMethod;[Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
      3:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                 Name  Flags
      object           
      method           
      parameterValues  
      groups           

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateParameters(T, io.micronaut.inject.ExecutableMethod, java.util.Collection<io.micronaut.core.type.MutableArgumentValue<?>>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Object;Lio/micronaut/inject/ExecutableMethod;Ljava/util/Collection;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=9, locals=12, args_size=5
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Object object
        start local 2 // io.micronaut.inject.ExecutableMethod method
        start local 3 // java.util.Collection argumentValues
        start local 4 // java.lang.Class[] groups
         0: .line 372
            ldc "object"
            aload 1 /* object */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 373
            ldc "method"
            aload 2 /* method */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 374
            ldc "parameterValues"
            aload 3 /* argumentValues */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 375
            aload 2 /* method */
            invokeinterface io.micronaut.inject.ExecutableMethod.getArguments:()[Lio/micronaut/core/type/Argument;
            astore 5 /* arguments */
        start local 5 // io.micronaut.core.type.Argument[] arguments
         4: .line 376
            aload 5 /* arguments */
            arraylength
            istore 6 /* argLen */
        start local 6 // int argLen
         5: .line 377
            iload 6 /* argLen */
            aload 3 /* argumentValues */
            invokeinterface java.util.Collection.size:()I
            if_icmpeq 7
         6: .line 378
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The method parameter array must have exactly "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* argLen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " elements."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 381
      StackMap locals: io.micronaut.core.type.Argument[] int
      StackMap stack:
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
            dup
            aload 0 /* this */
            aload 1 /* object */
            aload 4 /* groups */
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;[Ljava/lang/Class;)V
            astore 7 /* context */
        start local 7 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
         8: .line 382
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
            astore 8 /* overallViolations */
        start local 8 // java.util.Set overallViolations
         9: .line 384
            aload 7 /* context */
            aload 2 /* method */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addMethodNode:(Lio/micronaut/inject/MethodReference;)Ljavax/validation/Path$Node;
            astore 9 /* node */
        start local 9 // javax.validation.Path$Node node
        10: .line 387
            aload 1 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 10 /* rootClass */
        start local 10 // java.lang.Class rootClass
        11: .line 388
            aload 0 /* this */
        12: .line 389
            aload 10 /* rootClass */
        13: .line 390
            aload 1 /* object */
        14: .line 391
            aload 3 /* argumentValues */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/micronaut/core/type/ArgumentValue.getValue()Ljava/lang/Object; (9 itf)
                  (Lio/micronaut/core/type/MutableArgumentValue;)Ljava/lang/Object;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.toArray:()[Ljava/lang/Object;
        15: .line 392
            aload 5 /* arguments */
        16: .line 393
            iload 6 /* argLen */
        17: .line 394
            aload 7 /* context */
        18: .line 395
            aload 8 /* overallViolations */
        19: .line 396
            aload 9 /* node */
        20: .line 388
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateParametersInternal:(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;[Lio/micronaut/core/type/Argument;ILio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljavax/validation/Path$Node;)V
        end local 10 // java.lang.Class rootClass
        21: .line 398
            goto 25
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Object io.micronaut.inject.ExecutableMethod java.util.Collection java.lang.Class[] io.micronaut.core.type.Argument[] int io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set javax.validation.Path$Node
      StackMap stack: java.lang.Throwable
        22: astore 11
        23: .line 399
            aload 7 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        24: .line 400
            aload 11
            athrow
        25: .line 399
      StackMap locals:
      StackMap stack:
            aload 7 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        26: .line 402
            aload 8 /* overallViolations */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 9 // javax.validation.Path$Node node
        end local 8 // java.util.Set overallViolations
        end local 7 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 6 // int argLen
        end local 5 // io.micronaut.core.type.Argument[] arguments
        end local 4 // java.lang.Class[] groups
        end local 3 // java.util.Collection argumentValues
        end local 2 // io.micronaut.inject.ExecutableMethod method
        end local 1 // java.lang.Object object
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   27     0               this  Lio/micronaut/validation/validator/DefaultValidator;
            0   27     1             object  TT;
            0   27     2             method  Lio/micronaut/inject/ExecutableMethod;
            0   27     3     argumentValues  Ljava/util/Collection<Lio/micronaut/core/type/MutableArgumentValue<*>;>;
            0   27     4             groups  [Ljava/lang/Class;
            4   27     5          arguments  [Lio/micronaut/core/type/Argument;
            5   27     6             argLen  I
            8   27     7            context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            9   27     8  overallViolations  Ljava/util/Set;
           10   27     9               node  Ljavax/validation/Path$Node;
           11   21    10          rootClass  Ljava/lang/Class<TT;>;
      Exception table:
        from    to  target  type
          10    22      22  any
    Signature: <T:Ljava/lang/Object;>(TT;Lio/micronaut/inject/ExecutableMethod;Ljava/util/Collection<Lio/micronaut/core/type/MutableArgumentValue<*>;>;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
      3:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                Name  Flags
      object          
      method          
      argumentValues  
      groups          

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateParameters(T, java.lang.reflect.Method, [], java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Object object
        start local 2 // java.lang.reflect.Method method
        start local 3 // java.lang.Object[] parameterValues
        start local 4 // java.lang.Class[] groups
         0: .line 412
            ldc "method"
            aload 2 /* method */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 413
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.executionHandleLocator:Lio/micronaut/context/ExecutionHandleLocator;
         2: .line 414
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
         3: .line 415
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
         4: .line 416
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
         5: .line 413
            invokeinterface io.micronaut.context.ExecutionHandleLocator.findExecutableMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/util/Optional;
         6: .line 417
            aload 0 /* this */
            aload 1 /* object */
            aload 3 /* parameterValues */
            aload 4 /* groups */
            invokedynamic apply(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/micronaut/validation/validator/DefaultValidator.lambda$5(Ljava/lang/Object;[Ljava/lang/Object;[Ljava/lang/Class;Lio/micronaut/inject/ExecutableMethod;)Ljava/util/Set; (7)
                  (Lio/micronaut/inject/ExecutableMethod;)Ljava/util/Set;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
         7: .line 419
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
         8: .line 413
            areturn
        end local 4 // java.lang.Class[] groups
        end local 3 // java.lang.Object[] parameterValues
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.lang.Object object
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lio/micronaut/validation/validator/DefaultValidator;
            0    9     1           object  TT;
            0    9     2           method  Ljava/lang/reflect/Method;
            0    9     3  parameterValues  [Ljava/lang/Object;
            0    9     4           groups  [Ljava/lang/Class;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/reflect/Method;[Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
      3:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                 Name  Flags
      object           
      method           
      parameterValues  
      groups           

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateReturnValue(T, java.lang.reflect.Method, , java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Object object
        start local 2 // java.lang.reflect.Method method
        start local 3 // java.lang.Object returnValue
        start local 4 // java.lang.Class[] groups
         0: .line 429
            ldc "method"
            aload 2 /* method */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 430
            ldc "object"
            aload 1 /* object */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 431
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.executionHandleLocator:Lio/micronaut/context/ExecutionHandleLocator;
         3: .line 432
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
         4: .line 433
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
         5: .line 434
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
         6: .line 431
            invokeinterface io.micronaut.context.ExecutionHandleLocator.findExecutableMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/util/Optional;
         7: .line 435
            aload 0 /* this */
            aload 1 /* object */
            aload 3 /* returnValue */
            aload 4 /* groups */
            invokedynamic apply(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/micronaut/validation/validator/DefaultValidator.lambda$6(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Class;Lio/micronaut/inject/ExecutableMethod;)Ljava/util/Set; (7)
                  (Lio/micronaut/inject/ExecutableMethod;)Ljava/util/Set;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
         8: .line 437
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
         9: .line 431
            areturn
        end local 4 // java.lang.Class[] groups
        end local 3 // java.lang.Object returnValue
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.lang.Object object
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lio/micronaut/validation/validator/DefaultValidator;
            0   10     1       object  TT;
            0   10     2       method  Ljava/lang/reflect/Method;
            0   10     3  returnValue  Ljava/lang/Object;
            0   10     4       groups  [Ljava/lang/Class;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
      3:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
             Name  Flags
      object       
      method       
      returnValue  
      groups       

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateReturnValue(T, io.micronaut.inject.ExecutableMethod<?, java.lang.Object>, , java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Object;Lio/micronaut/inject/ExecutableMethod;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=10, locals=12, args_size=5
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Object object
        start local 2 // io.micronaut.inject.ExecutableMethod executableMethod
        start local 3 // java.lang.Object returnValue
        start local 4 // java.lang.Class[] groups
         0: .line 446
            aload 2 /* executableMethod */
            invokeinterface io.micronaut.inject.ExecutableMethod.getReturnType:()Lio/micronaut/core/type/ReturnType;
            astore 5 /* returnType */
        start local 5 // io.micronaut.core.type.ReturnType returnType
         1: .line 447
            aload 5 /* returnType */
            invokeinterface io.micronaut.core.type.ReturnType.asArgument:()Lio/micronaut/core/type/Argument;
            astore 6 /* returnTypeArgument */
        start local 6 // io.micronaut.core.type.Argument returnTypeArgument
         2: .line 448
            new java.util.HashSet
            dup
            iconst_3
            invokespecial java.util.HashSet.<init>:(I)V
            astore 7 /* overallViolations */
        start local 7 // java.util.HashSet overallViolations
         3: .line 450
            aload 1 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 8 /* rootBeanClass */
        start local 8 // java.lang.Class rootBeanClass
         4: .line 451
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
            dup
            aload 0 /* this */
            aload 1 /* object */
            aload 4 /* groups */
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;[Ljava/lang/Class;)V
            astore 9 /* context */
        start local 9 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
         5: .line 453
            aload 0 /* this */
         6: .line 454
            aload 8 /* rootBeanClass */
         7: .line 455
            aload 1 /* object */
         8: .line 456
            aload 1 /* object */
         9: .line 457
            aload 6 /* returnTypeArgument */
        10: .line 458
            aload 5 /* returnType */
            invokeinterface io.micronaut.core.type.ReturnType.getType:()Ljava/lang/Class;
        11: .line 459
            aload 3 /* returnValue */
        12: .line 460
            aload 9 /* context */
        13: .line 461
            aload 7 /* overallViolations */
        14: .line 462
            aconst_null
        15: .line 453
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateConstrainedPropertyInternal:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
        16: .line 465
            aload 6 /* returnTypeArgument */
            invokeinterface io.micronaut.core.type.Argument.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            astore 10 /* annotationMetadata */
        start local 10 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        17: .line 466
            aload 10 /* annotationMetadata */
            ldc Ljavax/validation/Valid;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.isAnnotationPresent:(Ljava/lang/Class;)Z
            istore 11 /* hasValid */
        start local 11 // boolean hasValid
        18: .line 468
            iload 11 /* hasValid */
            ifeq 27
        19: .line 469
            aload 0 /* this */
            aload 9 /* context */
        20: .line 470
            aload 8 /* rootBeanClass */
        21: .line 471
            aload 1 /* object */
        22: .line 472
            aload 1 /* object */
        23: .line 473
            aload 6 /* returnTypeArgument */
        24: .line 474
            aload 3 /* returnValue */
        25: .line 475
            aload 7 /* overallViolations */
        26: .line 469
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateCascadePropertyInternal:(Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/type/Argument;Ljava/lang/Object;Ljava/util/Set;)V
        27: .line 479
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Object io.micronaut.inject.ExecutableMethod java.lang.Object java.lang.Class[] io.micronaut.core.type.ReturnType io.micronaut.core.type.Argument java.util.HashSet java.lang.Class io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext io.micronaut.core.annotation.AnnotationMetadata int
      StackMap stack:
            aload 7 /* overallViolations */
            areturn
        end local 11 // boolean hasValid
        end local 10 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        end local 9 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 8 // java.lang.Class rootBeanClass
        end local 7 // java.util.HashSet overallViolations
        end local 6 // io.micronaut.core.type.Argument returnTypeArgument
        end local 5 // io.micronaut.core.type.ReturnType returnType
        end local 4 // java.lang.Class[] groups
        end local 3 // java.lang.Object returnValue
        end local 2 // io.micronaut.inject.ExecutableMethod executableMethod
        end local 1 // java.lang.Object object
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   28     0                this  Lio/micronaut/validation/validator/DefaultValidator;
            0   28     1              object  TT;
            0   28     2    executableMethod  Lio/micronaut/inject/ExecutableMethod<*Ljava/lang/Object;>;
            0   28     3         returnValue  Ljava/lang/Object;
            0   28     4              groups  [Ljava/lang/Class;
            1   28     5          returnType  Lio/micronaut/core/type/ReturnType<Ljava/lang/Object;>;
            2   28     6  returnTypeArgument  Lio/micronaut/core/type/Argument<Ljava/lang/Object;>;
            3   28     7   overallViolations  Ljava/util/HashSet;
            4   28     8       rootBeanClass  Ljava/lang/Class<TT;>;
            5   28     9             context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
           17   28    10  annotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
           18   28    11            hasValid  Z
    Signature: <T:Ljava/lang/Object;>(TT;Lio/micronaut/inject/ExecutableMethod<*Ljava/lang/Object;>;Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
      3:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                  Name  Flags
      object            
      executableMethod  
      returnValue       
      groups            

  private <T> void validateCascadePropertyInternal(io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.lang.Class<T>, T, , io.micronaut.core.type.Argument<?>, , java.util.Set);
    descriptor: (Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/type/Argument;Ljava/lang/Object;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=12, args_size=8
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 2 // java.lang.Class rootBeanClass
        start local 3 // java.lang.Object rootBean
        start local 4 // java.lang.Object object
        start local 5 // io.micronaut.core.type.Argument cascadeProperty
        start local 6 // java.lang.Object propertyValue
        start local 7 // java.util.Set overallViolations
         0: .line 489
            aload 6 /* propertyValue */
            ifnull 25
         1: .line 490
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.valueExtractorRegistry:Lio/micronaut/validation/validator/extractors/ValueExtractorRegistry;
         2: .line 491
            aload 5 /* cascadeProperty */
            invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
            invokeinterface io.micronaut.validation.validator.extractors.ValueExtractorRegistry.findValueExtractor:(Ljava/lang/Class;)Ljava/util/Optional;
         3: .line 490
            astore 8 /* opt */
        start local 8 // java.util.Optional opt
         4: .line 493
            aload 8 /* opt */
            aload 0 /* this */
            aload 6 /* propertyValue */
            aload 1 /* context */
            aload 2 /* rootBeanClass */
            aload 3 /* rootBean */
            aload 4 /* object */
            aload 5 /* cascadeProperty */
            aload 7 /* overallViolations */
            invokedynamic accept(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/type/Argument;Ljava/util/Set;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/micronaut/validation/validator/DefaultValidator.lambda$7(Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/type/Argument;Ljava/util/Set;Ljavax/validation/valueextraction/ValueExtractor;)V (7)
                  (Ljavax/validation/valueextraction/ValueExtractor;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
         5: .line 558
            aload 8 /* opt */
            invokevirtual java.util.Optional.isPresent:()Z
            ifne 25
            aload 1 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.validatedObjects:Ljava/util/Set;
            aload 6 /* propertyValue */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 25
         6: .line 561
            aload 1 /* context */
            aload 5 /* cascadeProperty */
            invokeinterface io.micronaut.core.type.Argument.getName:()Ljava/lang/String;
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addReturnValueNode:(Ljava/lang/String;)Ljavax/validation/Path$Node;
            astore 9 /* node */
        start local 9 // javax.validation.Path$Node node
         7: .line 562
            aload 0 /* this */
            aload 2 /* rootBeanClass */
            aload 1 /* context */
            aload 6 /* propertyValue */
            aload 9 /* node */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.canCascade:(Ljava/lang/Class;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Object;Ljavax/validation/Path$Node;)Z
            istore 10 /* canCascade */
        start local 10 // boolean canCascade
         8: .line 563
            iload 10 /* canCascade */
            ifeq 24
         9: .line 564
            aload 0 /* this */
        10: .line 565
            aload 2 /* rootBeanClass */
        11: .line 566
            aload 3 /* rootBean */
        12: .line 567
            aload 4 /* object */
        13: .line 568
            aload 1 /* context */
        14: .line 569
            aload 7 /* overallViolations */
        15: .line 570
            aload 5 /* cascadeProperty */
        16: .line 571
            aload 5 /* cascadeProperty */
            invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
        17: .line 572
            aload 6 /* propertyValue */
        18: .line 573
            aconst_null
        19: .line 564
            invokevirtual io.micronaut.validation.validator.DefaultValidator.cascadeToOne:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
        end local 10 // boolean canCascade
        end local 9 // javax.validation.Path$Node node
        20: .line 575
            goto 24
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.lang.Class java.lang.Object java.lang.Object io.micronaut.core.type.Argument java.lang.Object java.util.Set java.util.Optional
      StackMap stack: java.lang.Throwable
        21: astore 11
        22: .line 576
            aload 1 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        23: .line 577
            aload 11
            athrow
        24: .line 576
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        end local 8 // java.util.Optional opt
        25: .line 580
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.util.Set overallViolations
        end local 6 // java.lang.Object propertyValue
        end local 5 // io.micronaut.core.type.Argument cascadeProperty
        end local 4 // java.lang.Object object
        end local 3 // java.lang.Object rootBean
        end local 2 // java.lang.Class rootBeanClass
        end local 1 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   26     0               this  Lio/micronaut/validation/validator/DefaultValidator;
            0   26     1            context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   26     2      rootBeanClass  Ljava/lang/Class<TT;>;
            0   26     3           rootBean  TT;
            0   26     4             object  Ljava/lang/Object;
            0   26     5    cascadeProperty  Lio/micronaut/core/type/Argument<*>;
            0   26     6      propertyValue  Ljava/lang/Object;
            0   26     7  overallViolations  Ljava/util/Set;
            4   25     8                opt  Ljava/util/Optional<+Ljavax/validation/valueextraction/ValueExtractor<Ljava/lang/Object;>;>;
            7   20     9               node  Ljavax/validation/Path$Node;
            8   20    10         canCascade  Z
      Exception table:
        from    to  target  type
           6    21      21  any
    Signature: <T:Ljava/lang/Object;>(Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class<TT;>;TT;Ljava/lang/Object;Lio/micronaut/core/type/Argument<*>;Ljava/lang/Object;Ljava/util/Set;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
      3:
      4:
        edu.umd.cs.findbugs.annotations.NonNull()
      5:
        edu.umd.cs.findbugs.annotations.Nullable()
      6:
    MethodParameters:
                   Name  Flags
      context            
      rootBeanClass      
      rootBean           
      object             
      cascadeProperty    
      propertyValue      
      overallViolations  

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateConstructorParameters(java.lang.reflect.Constructor<? extends T>, [], java.lang.Class<?>[]);
    descriptor: (Ljava/lang/reflect/Constructor;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.reflect.Constructor constructor
        start local 2 // java.lang.Object[] parameterValues
        start local 3 // java.lang.Class[] groups
         0: .line 588
            ldc "constructor"
            aload 1 /* constructor */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 589
            aload 1 /* constructor */
            invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
            astore 4 /* declaringClass */
        start local 4 // java.lang.Class declaringClass
         2: .line 590
            aload 4 /* declaringClass */
            invokestatic io.micronaut.core.beans.BeanIntrospection.getIntrospection:(Ljava/lang/Class;)Lio/micronaut/core/beans/BeanIntrospection;
            astore 5 /* introspection */
        start local 5 // io.micronaut.core.beans.BeanIntrospection introspection
         3: .line 591
            aload 0 /* this */
            aload 5 /* introspection */
            aload 2 /* parameterValues */
            iconst_0
            anewarray java.lang.Class
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateConstructorParameters:(Lio/micronaut/core/beans/BeanIntrospection;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
            areturn
        end local 5 // io.micronaut.core.beans.BeanIntrospection introspection
        end local 4 // java.lang.Class declaringClass
        end local 3 // java.lang.Class[] groups
        end local 2 // java.lang.Object[] parameterValues
        end local 1 // java.lang.reflect.Constructor constructor
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lio/micronaut/validation/validator/DefaultValidator;
            0    4     1      constructor  Ljava/lang/reflect/Constructor<+TT;>;
            0    4     2  parameterValues  [Ljava/lang/Object;
            0    4     3           groups  [Ljava/lang/Class;
            2    4     4   declaringClass  Ljava/lang/Class<+TT;>;
            3    4     5    introspection  Lio/micronaut/core/beans/BeanIntrospection<+TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/reflect/Constructor<+TT;>;[Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                 Name  Flags
      constructor      
      parameterValues  
      groups           

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateConstructorParameters(io.micronaut.core.beans.BeanIntrospection<? extends T>, [], java.lang.Class<?>[]);
    descriptor: (Lio/micronaut/core/beans/BeanIntrospection;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.core.beans.BeanIntrospection introspection
        start local 2 // java.lang.Object[] parameterValues
        start local 3 // java.lang.Class[] groups
         0: .line 600
            ldc "introspection"
            aload 1 /* introspection */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 601
            aload 1 /* introspection */
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getBeanType:()Ljava/lang/Class;
            astore 4 /* beanType */
        start local 4 // java.lang.Class beanType
         2: .line 602
            aload 1 /* introspection */
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getConstructorArguments:()[Lio/micronaut/core/type/Argument;
            astore 5 /* constructorArguments */
        start local 5 // io.micronaut.core.type.Argument[] constructorArguments
         3: .line 603
            aload 0 /* this */
            aload 4 /* beanType */
            aload 5 /* constructorArguments */
            aload 2 /* parameterValues */
            aload 3 /* groups */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateConstructorParameters:(Ljava/lang/Class;[Lio/micronaut/core/type/Argument;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
            areturn
        end local 5 // io.micronaut.core.type.Argument[] constructorArguments
        end local 4 // java.lang.Class beanType
        end local 3 // java.lang.Class[] groups
        end local 2 // java.lang.Object[] parameterValues
        end local 1 // io.micronaut.core.beans.BeanIntrospection introspection
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lio/micronaut/validation/validator/DefaultValidator;
            0    4     1         introspection  Lio/micronaut/core/beans/BeanIntrospection<+TT;>;
            0    4     2       parameterValues  [Ljava/lang/Object;
            0    4     3                groups  [Ljava/lang/Class;
            2    4     4              beanType  Ljava/lang/Class<+TT;>;
            3    4     5  constructorArguments  [Lio/micronaut/core/type/Argument;
    Signature: <T:Ljava/lang/Object;>(Lio/micronaut/core/beans/BeanIntrospection<+TT;>;[Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                 Name  Flags
      introspection    
      parameterValues  
      groups           

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateConstructorParameters(java.lang.Class<? extends T>, io.micronaut.core.type.Argument<?>[], [], java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Class;[Lio/micronaut/core/type/Argument;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=10, args_size=5
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class beanType
        start local 2 // io.micronaut.core.type.Argument[] constructorArguments
        start local 3 // java.lang.Object[] parameterValues
        start local 4 // java.lang.Class[] groups
         0: .line 609
            aload 3 /* parameterValues */
            ifnull 1
            aload 3 /* parameterValues */
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic io.micronaut.core.util.ArrayUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object[]
         2: astore 3 /* parameterValues */
         3: .line 610
            aload 2 /* constructorArguments */
            arraylength
            istore 5 /* argLength */
        start local 5 // int argLength
         4: .line 611
            aload 3 /* parameterValues */
            arraylength
            iload 5 /* argLength */
            if_icmpeq 6
         5: .line 612
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected exactly ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* argLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] constructor arguments"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 614
      StackMap locals: int
      StackMap stack:
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
            dup
            aload 0 /* this */
            aload 4 /* groups */
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.<init>:(Lio/micronaut/validation/validator/DefaultValidator;[Ljava/lang/Class;)V
            astore 6 /* context */
        start local 6 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
         7: .line 615
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
            astore 7 /* overallViolations */
        start local 7 // java.util.Set overallViolations
         8: .line 617
            aload 6 /* context */
            aload 1 /* beanType */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aload 2 /* constructorArguments */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addConstructorNode:(Ljava/lang/String;[Lio/micronaut/core/type/Argument;)Ljavax/validation/Path$Node;
            astore 8 /* node */
        start local 8 // javax.validation.Path$Node node
         9: .line 619
            aload 0 /* this */
        10: .line 620
            aload 1 /* beanType */
        11: .line 621
            aconst_null
        12: .line 622
            aload 3 /* parameterValues */
        13: .line 623
            aload 2 /* constructorArguments */
        14: .line 624
            iload 5 /* argLength */
        15: .line 625
            aload 6 /* context */
        16: .line 626
            aload 7 /* overallViolations */
        17: .line 627
            aload 8 /* node */
        18: .line 619
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateParametersInternal:(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;[Lio/micronaut/core/type/Argument;ILio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljavax/validation/Path$Node;)V
        19: .line 628
            goto 23
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class io.micronaut.core.type.Argument[] java.lang.Object[] java.lang.Class[] int io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set javax.validation.Path$Node
      StackMap stack: java.lang.Throwable
        20: astore 9
        21: .line 629
            aload 6 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        22: .line 630
            aload 9
            athrow
        23: .line 629
      StackMap locals:
      StackMap stack:
            aload 6 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        24: .line 632
            aload 7 /* overallViolations */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 8 // javax.validation.Path$Node node
        end local 7 // java.util.Set overallViolations
        end local 6 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 5 // int argLength
        end local 4 // java.lang.Class[] groups
        end local 3 // java.lang.Object[] parameterValues
        end local 2 // io.micronaut.core.type.Argument[] constructorArguments
        end local 1 // java.lang.Class beanType
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   25     0                  this  Lio/micronaut/validation/validator/DefaultValidator;
            0   25     1              beanType  Ljava/lang/Class<+TT;>;
            0   25     2  constructorArguments  [Lio/micronaut/core/type/Argument;
            0   25     3       parameterValues  [Ljava/lang/Object;
            0   25     4                groups  [Ljava/lang/Class;
            4   25     5             argLength  I
            7   25     6               context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            8   25     7     overallViolations  Ljava/util/Set;
            9   25     8                  node  Ljavax/validation/Path$Node;
      Exception table:
        from    to  target  type
           9    20      20  any
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<+TT;>;[Lio/micronaut/core/type/Argument<*>;[Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
      3:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                      Name  Flags
      beanType              
      constructorArguments  
      parameterValues       
      groups                

  public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateConstructorReturnValue(java.lang.reflect.Constructor<? extends T>, T, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/reflect/Constructor;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.reflect.Constructor constructor
        start local 2 // java.lang.Object createdObject
        start local 3 // java.lang.Class[] groups
         0: .line 638
            aload 0 /* this */
            aload 2 /* createdObject */
            aload 3 /* groups */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validate:(Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
            areturn
        end local 3 // java.lang.Class[] groups
        end local 2 // java.lang.Object createdObject
        end local 1 // java.lang.reflect.Constructor constructor
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lio/micronaut/validation/validator/DefaultValidator;
            0    1     1    constructor  Ljava/lang/reflect/Constructor<+TT;>;
            0    1     2  createdObject  TT;
            0    1     3         groups  [Ljava/lang/Class;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/reflect/Constructor<+TT;>;TT;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
               Name  Flags
      constructor    
      createdObject  
      groups         

  protected io.micronaut.core.beans.BeanIntrospection<java.lang.Object> getBeanIntrospection(, java.lang.Class<?>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Lio/micronaut/core/beans/BeanIntrospection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Object object
        start local 2 // java.lang.Class definedClass
         0: .line 652
            aload 1 /* object */
            ifnonnull 2
         1: .line 653
            aconst_null
            areturn
         2: .line 655
      StackMap locals:
      StackMap stack:
            getstatic io.micronaut.core.beans.BeanIntrospector.SHARED:Lio/micronaut/core/beans/BeanIntrospector;
            aload 1 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface io.micronaut.core.beans.BeanIntrospector.findIntrospection:(Ljava/lang/Class;)Ljava/util/Optional;
         3: .line 656
            aload 2 /* definedClass */
            invokedynamic get(Ljava/lang/Class;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  io/micronaut/validation/validator/DefaultValidator.lambda$8(Ljava/lang/Class;)Lio/micronaut/core/beans/BeanIntrospection; (6)
                  ()Lio/micronaut/core/beans/BeanIntrospection;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast io.micronaut.core.beans.BeanIntrospection
         4: .line 655
            areturn
        end local 2 // java.lang.Class definedClass
        end local 1 // java.lang.Object object
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lio/micronaut/validation/validator/DefaultValidator;
            0    5     1        object  Ljava/lang/Object;
            0    5     2  definedClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;)Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
              Name  Flags
      object        
      definedClass  

  protected io.micronaut.core.beans.BeanIntrospection<java.lang.Object> getBeanIntrospection();
    descriptor: (Ljava/lang/Object;)Lio/micronaut/core/beans/BeanIntrospection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Object object
         0: .line 668
            aload 1 /* object */
            ifnonnull 2
         1: .line 669
            aconst_null
            areturn
         2: .line 671
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            instanceof java.lang.Class
            ifeq 4
         3: .line 672
            getstatic io.micronaut.core.beans.BeanIntrospector.SHARED:Lio/micronaut/core/beans/BeanIntrospector;
            aload 1 /* object */
            checkcast java.lang.Class
            invokeinterface io.micronaut.core.beans.BeanIntrospector.findIntrospection:(Ljava/lang/Class;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.micronaut.core.beans.BeanIntrospection
            areturn
         4: .line 674
      StackMap locals:
      StackMap stack:
            getstatic io.micronaut.core.beans.BeanIntrospector.SHARED:Lio/micronaut/core/beans/BeanIntrospector;
            aload 1 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface io.micronaut.core.beans.BeanIntrospector.findIntrospection:(Ljava/lang/Class;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.micronaut.core.beans.BeanIntrospection
            areturn
        end local 1 // java.lang.Object object
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/micronaut/validation/validator/DefaultValidator;
            0    5     1  object  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
        Name  Flags
      object  

  private <T> void validateParametersInternal(java.lang.Class<T>, T, [], io.micronaut.core.type.Argument[], int, io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.util.Set, javax.validation.Path$Node);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;[Lio/micronaut/core/type/Argument;ILio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljavax/validation/Path$Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=24, args_size=9
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class rootClass
        start local 2 // java.lang.Object object
        start local 3 // java.lang.Object[] parameters
        start local 4 // io.micronaut.core.type.Argument[] arguments
        start local 5 // int argLen
        start local 6 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 7 // java.util.Set overallViolations
        start local 8 // javax.validation.Path$Node parentNode
         0: .line 686
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         1: goto 97
         2: .line 687
      StackMap locals: int
      StackMap stack:
            aload 4 /* arguments */
            iload 9 /* i */
            aaload
            astore 10 /* argument */
        start local 10 // io.micronaut.core.type.Argument argument
         3: .line 688
            aload 10 /* argument */
            invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
            astore 11 /* parameterType */
        start local 11 // java.lang.Class parameterType
         4: .line 690
            aload 10 /* argument */
            invokeinterface io.micronaut.core.type.Argument.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            astore 12 /* annotationMetadata */
        start local 12 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
         5: .line 692
            aload 12 /* annotationMetadata */
            getstatic io.micronaut.validation.validator.Validator.ANN_VALID:Ljava/lang/String;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.hasStereotype:(Ljava/lang/String;)Z
            istore 13 /* hasValid */
        start local 13 // boolean hasValid
         6: .line 693
            aload 12 /* annotationMetadata */
            getstatic io.micronaut.validation.validator.Validator.ANN_CONSTRAINT:Ljava/lang/String;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.hasStereotype:(Ljava/lang/String;)Z
            istore 14 /* hasConstraint */
        start local 14 // boolean hasConstraint
         7: .line 696
            iload 13 /* hasValid */
            ifne 9
            iload 14 /* hasConstraint */
            ifne 9
         8: .line 697
            goto 96
         9: .line 700
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.core.type.Argument[] int io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set javax.validation.Path$Node int io.micronaut.core.type.Argument java.lang.Class io.micronaut.core.annotation.AnnotationMetadata int int
      StackMap stack:
            aload 3 /* parameters */
            iload 9 /* i */
            aaload
            astore 15 /* parameterValue */
        start local 15 // java.lang.Object parameterValue
        10: .line 702
            aconst_null
            astore 16 /* valueExtractor */
        start local 16 // javax.validation.valueextraction.ValueExtractor valueExtractor
        11: .line 703
            aload 15 /* parameterValue */
            ifnull 12
            iconst_1
            goto 13
      StackMap locals: java.lang.Object javax.validation.valueextraction.ValueExtractor
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 17 /* hasValue */
        start local 17 // boolean hasValue
        14: .line 704
            iload 17 /* hasValue */
            ifeq 15
            iload 13 /* hasValid */
            ifeq 15
            iconst_1
            goto 16
      StackMap locals: int
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 18 /* isValid */
        start local 18 // boolean isValid
        17: .line 705
            iload 17 /* hasValue */
            ifeq 18
            aload 11 /* parameterType */
            invokestatic io.micronaut.core.async.publisher.Publishers.isConvertibleToPublisher:(Ljava/lang/Class;)Z
            ifeq 18
            iconst_1
            goto 19
      StackMap locals: int
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: istore 19 /* isPublisher */
        start local 19 // boolean isPublisher
        20: .line 706
            iload 19 /* isPublisher */
            ifeq 34
        21: .line 707
            aload 0 /* this */
        22: .line 708
            aload 1 /* rootClass */
        23: .line 709
            aload 2 /* object */
        24: .line 710
            aload 3 /* parameters */
        25: .line 711
            aload 6 /* context */
        26: .line 712
            iload 9 /* i */
        27: .line 713
            aload 10 /* argument */
        28: .line 714
            aload 11 /* parameterType */
        29: .line 715
            aload 12 /* annotationMetadata */
        30: .line 716
            aload 15 /* parameterValue */
        31: .line 717
            iload 18 /* isValid */
        32: .line 707
            invokevirtual io.micronaut.validation.validator.DefaultValidator.instrumentPublisherArgumentWithValidation:(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;ILio/micronaut/core/type/Argument;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;Z)V
        33: .line 719
            goto 96
        34: .line 720
      StackMap locals: int
      StackMap stack:
            iload 17 /* hasValue */
            ifeq 35
            ldc Ljava/util/concurrent/CompletionStage;
            aload 11 /* parameterType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 35
            iconst_1
            goto 36
      StackMap locals:
      StackMap stack:
        35: iconst_0
      StackMap locals:
      StackMap stack: int
        36: istore 20 /* isCompletionStage */
        start local 20 // boolean isCompletionStage
        37: .line 721
            iload 20 /* isCompletionStage */
            ifeq 50
        38: .line 722
            aload 0 /* this */
        39: .line 723
            aload 1 /* rootClass */
        40: .line 724
            aload 2 /* object */
        41: .line 725
            aload 3 /* parameters */
        42: .line 726
            aload 6 /* context */
        43: .line 727
            iload 9 /* i */
        44: .line 728
            aload 10 /* argument */
        45: .line 729
            aload 12 /* annotationMetadata */
        46: .line 730
            aload 15 /* parameterValue */
        47: .line 731
            iload 18 /* isValid */
        48: .line 722
            invokevirtual io.micronaut.validation.validator.DefaultValidator.instrumentCompletionStageArgumentWithValidation:(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;ILio/micronaut/core/type/Argument;Lio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;Z)V
        49: .line 733
            goto 96
        50: .line 734
      StackMap locals: int
      StackMap stack:
            iload 17 /* hasValue */
            ifeq 52
        51: .line 736
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.valueExtractorRegistry:Lio/micronaut/validation/validator/extractors/ValueExtractorRegistry;
            aload 11 /* parameterType */
            invokeinterface io.micronaut.validation.validator.extractors.ValueExtractorRegistry.findUnwrapValueExtractor:(Ljava/lang/Class;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.validation.valueextraction.ValueExtractor
            astore 16 /* valueExtractor */
        52: .line 739
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            istore 21 /* finalIndex */
        start local 21 // int finalIndex
        53: .line 740
            aload 16 /* valueExtractor */
            ifnull 56
        54: .line 741
            aload 16 /* valueExtractor */
            aload 15 /* parameterValue */
            aload 0 /* this */
            aload 1 /* rootClass */
            aload 2 /* object */
            aload 3 /* parameters */
            aload 6 /* context */
            aload 7 /* overallViolations */
            aload 10 /* argument */
            iload 21 /* finalIndex */
            aload 12 /* annotationMetadata */
            invokedynamic value(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/type/Argument;ILio/micronaut/core/annotation/AnnotationMetadata;)Lio/micronaut/validation/validator/extractors/SimpleValueReceiver;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/String;Ljava/lang/Object;)V
                  io/micronaut/validation/validator/DefaultValidator.lambda$9(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/type/Argument;ILio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/String;Ljava/lang/Object;)V (7)
                  (Ljava/lang/String;Ljava/lang/Object;)V
            invokeinterface javax.validation.valueextraction.ValueExtractor.extractValues:(Ljava/lang/Object;Ljavax/validation/valueextraction/ValueExtractor$ValueReceiver;)V
        55: .line 753
            goto 68
        56: .line 754
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
        57: .line 755
            aload 1 /* rootClass */
        58: .line 756
            aload 2 /* object */
        59: .line 757
            aload 3 /* parameters */
        60: .line 758
            aload 6 /* context */
        61: .line 759
            aload 7 /* overallViolations */
        62: .line 760
            aload 10 /* argument */
            invokeinterface io.micronaut.core.type.Argument.getName:()Ljava/lang/String;
        63: .line 761
            aload 11 /* parameterType */
        64: .line 762
            iload 21 /* finalIndex */
        65: .line 763
            aload 12 /* annotationMetadata */
        66: .line 764
            aload 15 /* parameterValue */
        67: .line 754
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateParameterInternal:(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/String;Ljava/lang/Class;ILio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;)V
        68: .line 769
      StackMap locals:
      StackMap stack:
            iload 18 /* isValid */
            ifeq 96
        69: .line 770
            aload 6 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.validatedObjects:Ljava/util/Set;
            aload 15 /* parameterValue */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 71
        70: .line 772
            goto 96
        71: .line 776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.valueExtractorRegistry:Lio/micronaut/validation/validator/extractors/ValueExtractorRegistry;
            aload 11 /* parameterType */
            invokeinterface io.micronaut.validation.validator.extractors.ValueExtractorRegistry.findValueExtractor:(Ljava/lang/Class;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.validation.valueextraction.ValueExtractor
            astore 16 /* valueExtractor */
        72: .line 777
            aload 16 /* valueExtractor */
            ifnull 75
        73: .line 778
            aload 16 /* valueExtractor */
            aload 15 /* parameterValue */
            new io.micronaut.validation.validator.DefaultValidator$2
            dup
            aload 0 /* this */
            aload 6 /* context */
            aload 1 /* rootClass */
            aload 2 /* object */
            aload 15 /* parameterValue */
            aload 8 /* parentNode */
            aload 10 /* argument */
            aload 7 /* overallViolations */
            invokespecial io.micronaut.validation.validator.DefaultValidator$2.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Ljavax/validation/Path$Node;Lio/micronaut/core/type/Argument;Ljava/util/Set;)V
            invokeinterface javax.validation.valueextraction.ValueExtractor.extractValues:(Ljava/lang/Object;Ljavax/validation/valueextraction/ValueExtractor$ValueReceiver;)V
        74: .line 840
            goto 96
        75: .line 841
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 15 /* parameterValue */
            aload 11 /* parameterType */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.getBeanIntrospection:(Ljava/lang/Object;Ljava/lang/Class;)Lio/micronaut/core/beans/BeanIntrospection;
            astore 22 /* beanIntrospection */
        start local 22 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
        76: .line 842
            aload 22 /* beanIntrospection */
            ifnull 91
        77: .line 844
            aload 6 /* context */
            aload 10 /* argument */
            invokeinterface io.micronaut.core.type.Argument.getName:()Ljava/lang/String;
            iload 9 /* i */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addParameterNode:(Ljava/lang/String;I)V
        78: .line 845
            aload 0 /* this */
        79: .line 846
            aload 6 /* context */
        80: .line 847
            aload 2 /* object */
        81: .line 848
            aload 15 /* parameterValue */
        82: .line 849
            aload 22 /* beanIntrospection */
        83: .line 850
            aload 7 /* overallViolations */
        84: .line 845
            invokevirtual io.micronaut.validation.validator.DefaultValidator.cascadeToOneIntrospection:(Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/beans/BeanIntrospection;Ljava/util/Set;)V
        85: .line 852
            goto 89
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.core.type.Argument[] int io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set javax.validation.Path$Node int io.micronaut.core.type.Argument java.lang.Class io.micronaut.core.annotation.AnnotationMetadata int int java.lang.Object javax.validation.valueextraction.ValueExtractor int int int int int io.micronaut.core.beans.BeanIntrospection
      StackMap stack: java.lang.Throwable
        86: astore 23
        87: .line 853
            aload 6 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        88: .line 854
            aload 23
            athrow
        89: .line 853
      StackMap locals:
      StackMap stack:
            aload 6 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        90: .line 855
            goto 96
        91: .line 856
      StackMap locals:
      StackMap stack:
            aload 6 /* context */
            aload 10 /* argument */
            invokeinterface io.micronaut.core.type.Argument.getName:()Ljava/lang/String;
            iload 9 /* i */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addParameterNode:(Ljava/lang/String;I)V
        92: .line 857
            aload 7 /* overallViolations */
            aload 0 /* this */
            aload 1 /* rootClass */
            aload 2 /* object */
            aload 6 /* context */
        93: .line 858
            aload 11 /* parameterType */
            aload 15 /* parameterValue */
            aload 3 /* parameters */
        94: .line 857
            invokevirtual io.micronaut.validation.validator.DefaultValidator.createIntrospectionConstraintViolation:(Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;)Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintViolation;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        95: .line 859
            aload 6 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        end local 22 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
        end local 21 // int finalIndex
        end local 20 // boolean isCompletionStage
        end local 19 // boolean isPublisher
        end local 18 // boolean isValid
        end local 17 // boolean hasValue
        end local 16 // javax.validation.valueextraction.ValueExtractor valueExtractor
        end local 15 // java.lang.Object parameterValue
        end local 14 // boolean hasConstraint
        end local 13 // boolean hasValid
        end local 12 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        end local 11 // java.lang.Class parameterType
        end local 10 // io.micronaut.core.type.Argument argument
        96: .line 686
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.core.type.Argument[] int io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set javax.validation.Path$Node int
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        97: iload 9 /* i */
            iload 5 /* argLen */
            if_icmplt 2
        end local 9 // int i
        98: .line 867
            return
        end local 8 // javax.validation.Path$Node parentNode
        end local 7 // java.util.Set overallViolations
        end local 6 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 5 // int argLen
        end local 4 // io.micronaut.core.type.Argument[] arguments
        end local 3 // java.lang.Object[] parameters
        end local 2 // java.lang.Object object
        end local 1 // java.lang.Class rootClass
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   99     0                this  Lio/micronaut/validation/validator/DefaultValidator;
            0   99     1           rootClass  Ljava/lang/Class<TT;>;
            0   99     2              object  TT;
            0   99     3          parameters  [Ljava/lang/Object;
            0   99     4           arguments  [Lio/micronaut/core/type/Argument;
            0   99     5              argLen  I
            0   99     6             context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   99     7   overallViolations  Ljava/util/Set;
            0   99     8          parentNode  Ljavax/validation/Path$Node;
            1   98     9                   i  I
            3   96    10            argument  Lio/micronaut/core/type/Argument;
            4   96    11       parameterType  Ljava/lang/Class<*>;
            5   96    12  annotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
            6   96    13            hasValid  Z
            7   96    14       hasConstraint  Z
           10   96    15      parameterValue  Ljava/lang/Object;
           11   96    16      valueExtractor  Ljavax/validation/valueextraction/ValueExtractor<Ljava/lang/Object;>;
           14   96    17            hasValue  Z
           17   96    18             isValid  Z
           20   96    19         isPublisher  Z
           37   96    20   isCompletionStage  Z
           53   96    21          finalIndex  I
           76   96    22   beanIntrospection  Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;
      Exception table:
        from    to  target  type
          77    86      86  any
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TT;[Ljava/lang/Object;[Lio/micronaut/core/type/Argument;ILio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljavax/validation/Path$Node;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
      3:
      4:
      5:
      6:
      7:
    MethodParameters:
                   Name  Flags
      rootClass          
      object             
      parameters         
      arguments          
      argLen             
      context            
      overallViolations  
      parentNode         

  private <T> void instrumentPublisherArgumentWithValidation(java.lang.Class<T>, T, [], io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, int, io.micronaut.core.type.Argument, java.lang.Class<?>, io.micronaut.core.annotation.AnnotationMetadata, , );
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;ILio/micronaut/core/type/Argument;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=11
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
         0: .line 880
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tFlowable cannot be resolved to a type\n\tType mismatch: cannot convert from Flowable to Flowable<Object>\n\tFlowable cannot be resolved to a type\n\tFlowable cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/validation/validator/DefaultValidator;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TT;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;ILio/micronaut/core/type/Argument;Ljava/lang/Class<*>;Lio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;Z)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
      3:
      4:
      5:
      6:
      7:
      8:
      9:
    MethodParameters:
                    Name  Flags
      rootClass           
      object              
      argumentValues      
      context             
      argumentIndex       
      argument            
      parameterType       
      annotationMetadata  
      parameterValue      
      isValid             

  private <T> void instrumentCompletionStageArgumentWithValidation(java.lang.Class<T>, T, [], io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, int, io.micronaut.core.type.Argument, io.micronaut.core.annotation.AnnotationMetadata, , );
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;ILio/micronaut/core/type/Argument;Lio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=13, args_size=10
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class rootClass
        start local 2 // java.lang.Object object
        start local 3 // java.lang.Object[] argumentValues
        start local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 5 // int argumentIndex
        start local 6 // io.micronaut.core.type.Argument argument
        start local 7 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        start local 8 // java.lang.Object parameterValue
        start local 9 // boolean isValid
         0: .line 941
            aload 8 /* parameterValue */
            checkcast java.util.concurrent.CompletionStage
            astore 10 /* publisher */
        start local 10 // java.util.concurrent.CompletionStage publisher
         1: .line 942
            new io.micronaut.validation.validator.DefaultValidator$PathImpl
            dup
            aload 0 /* this */
            aload 4 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.currentPath:Lio/micronaut/validation/validator/DefaultValidator$PathImpl;
            invokespecial io.micronaut.validation.validator.DefaultValidator$PathImpl.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Lio/micronaut/validation/validator/DefaultValidator$PathImpl;)V
            astore 11 /* copied */
        start local 11 // io.micronaut.validation.validator.DefaultValidator$PathImpl copied
         2: .line 943
            aload 10 /* publisher */
            aload 0 /* this */
            aload 2 /* object */
            aload 11 /* copied */
            iload 9 /* isValid */
            aload 4 /* context */
            aload 6 /* argument */
            iload 5 /* argumentIndex */
            aload 1 /* rootClass */
            aload 3 /* argumentValues */
            aload 7 /* annotationMetadata */
            invokedynamic apply(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$PathImpl;ZLio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Lio/micronaut/core/type/Argument;ILjava/lang/Class;[Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationMetadata;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/micronaut/validation/validator/DefaultValidator.lambda$11(Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$PathImpl;ZLio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Lio/micronaut/core/type/Argument;ILjava/lang/Class;[Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;)Ljava/lang/Object; (7)
                  (Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.concurrent.CompletionStage.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
            astore 12 /* validatedStage */
        start local 12 // java.util.concurrent.CompletionStage validatedStage
         3: .line 987
            aload 3 /* argumentValues */
            iload 5 /* argumentIndex */
            aload 12 /* validatedStage */
            aastore
         4: .line 988
            return
        end local 12 // java.util.concurrent.CompletionStage validatedStage
        end local 11 // io.micronaut.validation.validator.DefaultValidator$PathImpl copied
        end local 10 // java.util.concurrent.CompletionStage publisher
        end local 9 // boolean isValid
        end local 8 // java.lang.Object parameterValue
        end local 7 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        end local 6 // io.micronaut.core.type.Argument argument
        end local 5 // int argumentIndex
        end local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 3 // java.lang.Object[] argumentValues
        end local 2 // java.lang.Object object
        end local 1 // java.lang.Class rootClass
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lio/micronaut/validation/validator/DefaultValidator;
            0    5     1           rootClass  Ljava/lang/Class<TT;>;
            0    5     2              object  TT;
            0    5     3      argumentValues  [Ljava/lang/Object;
            0    5     4             context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0    5     5       argumentIndex  I
            0    5     6            argument  Lio/micronaut/core/type/Argument;
            0    5     7  annotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
            0    5     8      parameterValue  Ljava/lang/Object;
            0    5     9             isValid  Z
            1    5    10           publisher  Ljava/util/concurrent/CompletionStage<Ljava/lang/Object;>;
            2    5    11              copied  Lio/micronaut/validation/validator/DefaultValidator$PathImpl;
            3    5    12      validatedStage  Ljava/util/concurrent/CompletionStage<Ljava/lang/Object;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TT;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;ILio/micronaut/core/type/Argument;Lio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;Z)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
      3:
      4:
      5:
      6:
      7:
      8:
    MethodParameters:
                    Name  Flags
      rootClass           
      object              
      argumentValues      
      context             
      argumentIndex       
      argument            
      annotationMetadata  
      parameterValue      
      isValid             

  private <T> void validateParameterInternal(java.lang.Class<T>, T, [], io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.util.Set, java.lang.String, java.lang.Class<?>, int, io.micronaut.core.annotation.AnnotationMetadata, );
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/String;Ljava/lang/Class;ILio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=16, locals=19, args_size=11
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class rootClass
        start local 2 // java.lang.Object object
        start local 3 // java.lang.Object[] argumentValues
        start local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 5 // java.util.Set overallViolations
        start local 6 // java.lang.String parameterName
        start local 7 // java.lang.Class parameterType
        start local 8 // int parameterIndex
        start local 9 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        start local 10 // java.lang.Object parameterValue
         0: .line 1003
            aload 4 /* context */
            aload 6 /* parameterName */
            iload 8 /* parameterIndex */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addParameterNode:(Ljava/lang/String;I)V
         1: .line 1005
            aload 9 /* annotationMetadata */
            ldc Ljavax/validation/Constraint;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.getAnnotationTypesByStereotype:(Ljava/lang/Class;)Ljava/util/List;
         2: .line 1004
            astore 11 /* constraintTypes */
        start local 11 // java.util.List constraintTypes
         3: .line 1008
            aload 11 /* constraintTypes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 25
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.lang.String java.lang.Class int io.micronaut.core.annotation.AnnotationMetadata java.lang.Object java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 12 /* constraintType */
        start local 12 // java.lang.Class constraintType
         5: .line 1009
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.constraintValidatorRegistry:Lio/micronaut/validation/validator/constraints/ConstraintValidatorRegistry;
         6: .line 1010
            aload 12 /* constraintType */
            aload 7 /* parameterType */
            invokeinterface io.micronaut.validation.validator.constraints.ConstraintValidatorRegistry.findConstraintValidator:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.micronaut.validation.validator.constraints.ConstraintValidator
         7: .line 1009
            astore 14 /* constraintValidator */
        start local 14 // io.micronaut.validation.validator.constraints.ConstraintValidator constraintValidator
         8: .line 1011
            aload 14 /* constraintValidator */
            ifnull 25
         9: .line 1013
            aload 9 /* annotationMetadata */
            aload 12 /* constraintType */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.getAnnotation:(Ljava/lang/Class;)Lio/micronaut/core/annotation/AnnotationValue;
        10: .line 1012
            astore 15 /* annotationValue */
        start local 15 // io.micronaut.core.annotation.AnnotationValue annotationValue
        11: .line 1014
            aload 15 /* annotationValue */
            ifnull 25
            aload 14 /* constraintValidator */
            aload 10 /* parameterValue */
            aload 15 /* annotationValue */
            aload 4 /* context */
            invokeinterface io.micronaut.validation.validator.constraints.ConstraintValidator.isValid:(Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationValue;Lio/micronaut/validation/validator/constraints/ConstraintValidatorContext;)Z
            ifne 25
        12: .line 1015
            aload 0 /* this */
            aload 15 /* annotationValue */
            aload 9 /* annotationMetadata */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.buildMessageTemplate:(Lio/micronaut/core/annotation/AnnotationValue;Lio/micronaut/core/annotation/AnnotationMetadata;)Ljava/lang/String;
            astore 16 /* messageTemplate */
        start local 16 // java.lang.String messageTemplate
        13: .line 1016
            aload 0 /* this */
            aload 15 /* annotationValue */
            aload 10 /* parameterValue */
            aload 9 /* annotationMetadata */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.newConstraintVariables:(Lio/micronaut/core/annotation/AnnotationValue;Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationMetadata;)Ljava/util/Map;
            astore 17 /* variables */
        start local 17 // java.util.Map variables
        14: .line 1017
            aload 5 /* overallViolations */
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintViolation
            dup
            aload 0 /* this */
        15: .line 1018
            aload 2 /* object */
        16: .line 1019
            aload 1 /* rootClass */
        17: .line 1020
            aload 2 /* object */
        18: .line 1021
            aload 10 /* parameterValue */
        19: .line 1022
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.messageSource:Lio/micronaut/context/MessageSource;
            aload 16 /* messageTemplate */
            aload 17 /* variables */
            invokestatic io.micronaut.context.MessageSource$MessageContext.of:(Ljava/util/Map;)Lio/micronaut/context/MessageSource$MessageContext;
            invokeinterface io.micronaut.context.MessageSource.interpolate:(Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/lang/String;
        20: .line 1023
            aload 16 /* messageTemplate */
        21: .line 1024
            new io.micronaut.validation.validator.DefaultValidator$PathImpl
            dup
            aload 0 /* this */
            aload 4 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.currentPath:Lio/micronaut/validation/validator/DefaultValidator$PathImpl;
            invokespecial io.micronaut.validation.validator.DefaultValidator$PathImpl.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Lio/micronaut/validation/validator/DefaultValidator$PathImpl;)V
        22: .line 1025
            new io.micronaut.validation.validator.DefaultConstraintDescriptor
            dup
            aload 9 /* annotationMetadata */
            aload 12 /* constraintType */
            aload 15 /* annotationValue */
            invokespecial io.micronaut.validation.validator.DefaultConstraintDescriptor.<init>:(Lio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotationValue;)V
        23: .line 1026
            aload 3 /* argumentValues */
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintViolation.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljavax/validation/Path;Ljavax/validation/metadata/ConstraintDescriptor;[Ljava/lang/Object;)V
        24: .line 1017
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // java.util.Map variables
        end local 16 // java.lang.String messageTemplate
        end local 15 // io.micronaut.core.annotation.AnnotationValue annotationValue
        end local 14 // io.micronaut.validation.validator.constraints.ConstraintValidator constraintValidator
        end local 12 // java.lang.Class constraintType
        25: .line 1008
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        26: .line 1032
            aload 0 /* this */
            aload 7 /* parameterType */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.getBeanIntrospection:(Ljava/lang/Object;)Lio/micronaut/core/beans/BeanIntrospection;
            astore 12 /* introspection */
        start local 12 // io.micronaut.core.beans.BeanIntrospection introspection
        27: .line 1033
            aload 12 /* introspection */
            ifnull 37
        28: .line 1034
            aload 12 /* introspection */
            ldc Ljavax/validation/Constraint;
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getAnnotationTypesByStereotype:(Ljava/lang/Class;)Ljava/util/List;
            astore 13 /* pojoConstraints */
        start local 13 // java.util.List pojoConstraints
        29: .line 1036
            aload 13 /* pojoConstraints */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 32
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.lang.String java.lang.Class int io.micronaut.core.annotation.AnnotationMetadata java.lang.Object java.util.List io.micronaut.core.beans.BeanIntrospection java.util.List top java.util.Iterator
      StackMap stack:
        30: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 14 /* pojoConstraint */
        start local 14 // java.lang.Class pojoConstraint
        31: .line 1037
            aload 0 /* this */
            aload 1 /* rootClass */
            aload 2 /* object */
            aload 3 /* argumentValues */
            aload 4 /* context */
            aload 5 /* overallViolations */
            aload 7 /* parameterType */
            aload 10 /* parameterValue */
            aload 14 /* pojoConstraint */
            aload 12 /* introspection */
            aload 14 /* pojoConstraint */
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getAnnotation:(Ljava/lang/Class;)Lio/micronaut/core/annotation/AnnotationValue;
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validatePojoInternal:(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotationValue;)V
        end local 14 // java.lang.Class pojoConstraint
        32: .line 1036
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        end local 13 // java.util.List pojoConstraints
        end local 12 // io.micronaut.core.beans.BeanIntrospection introspection
        end local 11 // java.util.List constraintTypes
        33: .line 1040
            goto 37
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.lang.String java.lang.Class int io.micronaut.core.annotation.AnnotationMetadata java.lang.Object
      StackMap stack: java.lang.Throwable
        34: astore 18
        35: .line 1041
            aload 4 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        36: .line 1042
            aload 18
            athrow
        37: .line 1041
      StackMap locals:
      StackMap stack:
            aload 4 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        38: .line 1043
            return
        end local 10 // java.lang.Object parameterValue
        end local 9 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        end local 8 // int parameterIndex
        end local 7 // java.lang.Class parameterType
        end local 6 // java.lang.String parameterName
        end local 5 // java.util.Set overallViolations
        end local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 3 // java.lang.Object[] argumentValues
        end local 2 // java.lang.Object object
        end local 1 // java.lang.Class rootClass
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   39     0                 this  Lio/micronaut/validation/validator/DefaultValidator;
            0   39     1            rootClass  Ljava/lang/Class<TT;>;
            0   39     2               object  TT;
            0   39     3       argumentValues  [Ljava/lang/Object;
            0   39     4              context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   39     5    overallViolations  Ljava/util/Set;
            0   39     6        parameterName  Ljava/lang/String;
            0   39     7        parameterType  Ljava/lang/Class<*>;
            0   39     8       parameterIndex  I
            0   39     9   annotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
            0   39    10       parameterValue  Ljava/lang/Object;
            3   33    11      constraintTypes  Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
            5   25    12       constraintType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            8   25    14  constraintValidator  Lio/micronaut/validation/validator/constraints/ConstraintValidator;
           11   25    15      annotationValue  Lio/micronaut/core/annotation/AnnotationValue<+Ljava/lang/annotation/Annotation;>;
           13   25    16      messageTemplate  Ljava/lang/String;
           14   25    17            variables  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
           27   33    12        introspection  Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;
           29   33    13      pojoConstraints  Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
           31   32    14       pojoConstraint  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
      Exception table:
        from    to  target  type
           0    34      34  any
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TT;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/String;Ljava/lang/Class<*>;ILio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
      3:
        edu.umd.cs.findbugs.annotations.NonNull()
      4:
        edu.umd.cs.findbugs.annotations.NonNull()
      5:
        edu.umd.cs.findbugs.annotations.NonNull()
      6:
        edu.umd.cs.findbugs.annotations.NonNull()
      7:
      8:
        edu.umd.cs.findbugs.annotations.NonNull()
      9:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                    Name  Flags
      rootClass           
      object              
      argumentValues      
      context             
      overallViolations   
      parameterName       
      parameterType       
      parameterIndex      
      annotationMetadata  
      parameterValue      

  private <T> void validatePojoInternal(java.lang.Class<T>, T, [], io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.util.Set, java.lang.Class<?>, , java.lang.Class<? extends java.lang.annotation.Annotation>, io.micronaut.core.annotation.AnnotationValue);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotationValue;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=16, locals=16, args_size=10
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class rootClass
        start local 2 // java.lang.Object object
        start local 3 // java.lang.Object[] argumentValues
        start local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 5 // java.util.Set overallViolations
        start local 6 // java.lang.Class parameterType
        start local 7 // java.lang.Object parameterValue
        start local 8 // java.lang.Class pojoConstraint
        start local 9 // io.micronaut.core.annotation.AnnotationValue constraintAnnotation
         0: .line 1055
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.constraintValidatorRegistry:Lio/micronaut/validation/validator/constraints/ConstraintValidatorRegistry;
         1: .line 1056
            aload 8 /* pojoConstraint */
            aload 6 /* parameterType */
            invokeinterface io.micronaut.validation.validator.constraints.ConstraintValidatorRegistry.findConstraintValidator:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.micronaut.validation.validator.constraints.ConstraintValidator
         2: .line 1055
            astore 10 /* constraintValidator */
        start local 10 // io.micronaut.validation.validator.constraints.ConstraintValidator constraintValidator
         3: .line 1058
            aload 10 /* constraintValidator */
            ifnull 23
         4: .line 1059
            aload 10 /* constraintValidator */
            aload 7 /* parameterValue */
            aload 9 /* constraintAnnotation */
            aload 4 /* context */
            invokeinterface io.micronaut.validation.validator.constraints.ConstraintValidator.isValid:(Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationValue;Lio/micronaut/validation/validator/constraints/ConstraintValidatorContext;)Z
            ifne 23
         5: .line 1060
            aload 0 /* this */
            aload 7 /* parameterValue */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.getBeanIntrospection:(Ljava/lang/Object;)Lio/micronaut/core/beans/BeanIntrospection;
            astore 11 /* beanIntrospection */
        start local 11 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
         6: .line 1061
            aload 11 /* beanIntrospection */
            ifnonnull 8
         7: .line 1062
            new javax.validation.ValidationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Passed object ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* parameterValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] cannot be introspected. Please annotate with @Introspected"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.validation.ValidationException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1064
      StackMap locals: io.micronaut.validation.validator.constraints.ConstraintValidator io.micronaut.core.beans.BeanIntrospection
      StackMap stack:
            aload 11 /* beanIntrospection */
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            astore 12 /* beanAnnotationMetadata */
        start local 12 // io.micronaut.core.annotation.AnnotationMetadata beanAnnotationMetadata
         9: .line 1065
            aload 12 /* beanAnnotationMetadata */
            aload 8 /* pojoConstraint */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.getAnnotation:(Ljava/lang/Class;)Lio/micronaut/core/annotation/AnnotationValue;
            astore 13 /* annotationValue */
        start local 13 // io.micronaut.core.annotation.AnnotationValue annotationValue
        10: .line 1068
            aload 0 /* this */
            aload 13 /* annotationValue */
            aload 12 /* beanAnnotationMetadata */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.buildMessageTemplate:(Lio/micronaut/core/annotation/AnnotationValue;Lio/micronaut/core/annotation/AnnotationMetadata;)Ljava/lang/String;
            astore 14 /* messageTemplate */
        start local 14 // java.lang.String messageTemplate
        11: .line 1069
            aload 0 /* this */
            aload 13 /* annotationValue */
            ldc ""
            aload 12 /* beanAnnotationMetadata */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.newConstraintVariables:(Lio/micronaut/core/annotation/AnnotationValue;Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationMetadata;)Ljava/util/Map;
            astore 15 /* variables */
        start local 15 // java.util.Map variables
        12: .line 1070
            aload 5 /* overallViolations */
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintViolation
            dup
            aload 0 /* this */
        13: .line 1071
            aload 2 /* object */
        14: .line 1072
            aload 1 /* rootClass */
        15: .line 1073
            aload 2 /* object */
        16: .line 1074
            aload 7 /* parameterValue */
        17: .line 1075
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.messageSource:Lio/micronaut/context/MessageSource;
            aload 14 /* messageTemplate */
            aload 15 /* variables */
            invokestatic io.micronaut.context.MessageSource$MessageContext.of:(Ljava/util/Map;)Lio/micronaut/context/MessageSource$MessageContext;
            invokeinterface io.micronaut.context.MessageSource.interpolate:(Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/lang/String;
        18: .line 1076
            aload 14 /* messageTemplate */
        19: .line 1077
            new io.micronaut.validation.validator.DefaultValidator$PathImpl
            dup
            aload 0 /* this */
            aload 4 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.currentPath:Lio/micronaut/validation/validator/DefaultValidator$PathImpl;
            invokespecial io.micronaut.validation.validator.DefaultValidator$PathImpl.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Lio/micronaut/validation/validator/DefaultValidator$PathImpl;)V
        20: .line 1078
            new io.micronaut.validation.validator.DefaultConstraintDescriptor
            dup
            aload 12 /* beanAnnotationMetadata */
            aload 8 /* pojoConstraint */
            aload 13 /* annotationValue */
            invokespecial io.micronaut.validation.validator.DefaultConstraintDescriptor.<init>:(Lio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotationValue;)V
        21: .line 1079
            aload 3 /* argumentValues */
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintViolation.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljavax/validation/Path;Ljavax/validation/metadata/ConstraintDescriptor;[Ljava/lang/Object;)V
        22: .line 1070
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // java.util.Map variables
        end local 14 // java.lang.String messageTemplate
        end local 13 // io.micronaut.core.annotation.AnnotationValue annotationValue
        end local 12 // io.micronaut.core.annotation.AnnotationMetadata beanAnnotationMetadata
        end local 11 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
        23: .line 1082
      StackMap locals:
      StackMap stack:
            return
        end local 10 // io.micronaut.validation.validator.constraints.ConstraintValidator constraintValidator
        end local 9 // io.micronaut.core.annotation.AnnotationValue constraintAnnotation
        end local 8 // java.lang.Class pojoConstraint
        end local 7 // java.lang.Object parameterValue
        end local 6 // java.lang.Class parameterType
        end local 5 // java.util.Set overallViolations
        end local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 3 // java.lang.Object[] argumentValues
        end local 2 // java.lang.Object object
        end local 1 // java.lang.Class rootClass
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   24     0                    this  Lio/micronaut/validation/validator/DefaultValidator;
            0   24     1               rootClass  Ljava/lang/Class<TT;>;
            0   24     2                  object  TT;
            0   24     3          argumentValues  [Ljava/lang/Object;
            0   24     4                 context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   24     5       overallViolations  Ljava/util/Set;
            0   24     6           parameterType  Ljava/lang/Class<*>;
            0   24     7          parameterValue  Ljava/lang/Object;
            0   24     8          pojoConstraint  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            0   24     9    constraintAnnotation  Lio/micronaut/core/annotation/AnnotationValue;
            3   24    10     constraintValidator  Lio/micronaut/validation/validator/constraints/ConstraintValidator;
            6   23    11       beanIntrospection  Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;
            9   23    12  beanAnnotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
           10   23    13         annotationValue  Lio/micronaut/core/annotation/AnnotationValue<+Ljava/lang/annotation/Annotation;>;
           11   23    14         messageTemplate  Ljava/lang/String;
           12   23    15               variables  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TT;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/Class<*>;Ljava/lang/Object;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Lio/micronaut/core/annotation/AnnotationValue;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
      3:
        edu.umd.cs.findbugs.annotations.NonNull()
      4:
        edu.umd.cs.findbugs.annotations.NonNull()
      5:
        edu.umd.cs.findbugs.annotations.NonNull()
      6:
        edu.umd.cs.findbugs.annotations.NonNull()
      7:
      8:
    MethodParameters:
                      Name  Flags
      rootClass             
      object                
      argumentValues        
      context               
      overallViolations     
      parameterType         
      parameterValue        
      pojoConstraint        
      constraintAnnotation  

  private <T> java.util.Set<javax.validation.ConstraintViolation<T>> doValidate(io.micronaut.core.beans.BeanIntrospection<T>, T, , java.util.Collection<? extends io.micronaut.core.beans.BeanProperty<java.lang.Object, java.lang.Object>>, java.util.Collection<io.micronaut.core.beans.BeanProperty<java.lang.Object, java.lang.Object>>, io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.util.Set, java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>>);
    descriptor: (Lio/micronaut/core/beans/BeanIntrospection;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Collection;Ljava/util/Collection;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/util/List;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=17, args_size=9
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.core.beans.BeanIntrospection introspection
        start local 2 // java.lang.Object rootBean
        start local 3 // java.lang.Object object
        start local 4 // java.util.Collection constrainedProperties
        start local 5 // java.util.Collection cascadeProperties
        start local 6 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 7 // java.util.Set overallViolations
        start local 8 // java.util.List pojoConstraints
         0: .line 1094
            aload 2 /* rootBean */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 9 /* rootBeanClass */
        start local 9 // java.lang.Class rootBeanClass
         1: .line 1095
            aload 4 /* constrainedProperties */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 15
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.core.beans.BeanIntrospection java.lang.Object java.lang.Object java.util.Collection java.util.Collection io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.util.List java.lang.Class top java.util.Iterator
      StackMap stack:
         2: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.micronaut.core.beans.BeanProperty
            astore 10 /* constrainedProperty */
        start local 10 // io.micronaut.core.beans.BeanProperty constrainedProperty
         3: .line 1096
            aload 10 /* constrainedProperty */
            aload 3 /* object */
            invokeinterface io.micronaut.core.beans.BeanProperty.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 12 /* propertyValue */
        start local 12 // java.lang.Object propertyValue
         4: .line 1098
            aload 0 /* this */
         5: .line 1099
            aload 9 /* rootBeanClass */
         6: .line 1100
            aload 2 /* rootBean */
         7: .line 1101
            aload 3 /* object */
         8: .line 1102
            aload 10 /* constrainedProperty */
         9: .line 1103
            aload 10 /* constrainedProperty */
            invokeinterface io.micronaut.core.beans.BeanProperty.getType:()Ljava/lang/Class;
        10: .line 1104
            aload 12 /* propertyValue */
        11: .line 1105
            aload 6 /* context */
        12: .line 1106
            aload 7 /* overallViolations */
        13: .line 1107
            aconst_null
        14: .line 1098
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateConstrainedPropertyInternal:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
        end local 12 // java.lang.Object propertyValue
        end local 10 // io.micronaut.core.beans.BeanProperty constrainedProperty
        15: .line 1095
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        16: .line 1110
            aload 8 /* pojoConstraints */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 29
      StackMap locals:
      StackMap stack:
        17: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 10 /* pojoConstraint */
        start local 10 // java.lang.Class pojoConstraint
        18: .line 1111
            aload 0 /* this */
        19: .line 1112
            aload 9 /* rootBeanClass */
        20: .line 1113
            aload 2 /* rootBean */
        21: .line 1114
            aconst_null
        22: .line 1115
            aload 6 /* context */
        23: .line 1116
            aload 7 /* overallViolations */
        24: .line 1117
            aload 9 /* rootBeanClass */
        25: .line 1118
            aload 3 /* object */
        26: .line 1119
            aload 10 /* pojoConstraint */
        27: .line 1120
            aload 1 /* introspection */
            aload 10 /* pojoConstraint */
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getAnnotation:(Ljava/lang/Class;)Lio/micronaut/core/annotation/AnnotationValue;
        28: .line 1111
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validatePojoInternal:(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotationValue;)V
        end local 10 // java.lang.Class pojoConstraint
        29: .line 1110
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        30: .line 1124
            aload 5 /* cascadeProperties */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 58
      StackMap locals:
      StackMap stack:
        31: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.micronaut.core.beans.BeanProperty
            astore 10 /* cascadeProperty */
        start local 10 // io.micronaut.core.beans.BeanProperty cascadeProperty
        32: .line 1125
            aload 10 /* cascadeProperty */
            aload 3 /* object */
            invokeinterface io.micronaut.core.beans.BeanProperty.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 12 /* propertyValue */
        start local 12 // java.lang.Object propertyValue
        33: .line 1126
            aload 12 /* propertyValue */
            ifnull 58
        34: .line 1128
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.valueExtractorRegistry:Lio/micronaut/validation/validator/extractors/ValueExtractorRegistry;
        35: .line 1129
            aload 12 /* propertyValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface io.micronaut.validation.validator.extractors.ValueExtractorRegistry.findValueExtractor:(Ljava/lang/Class;)Ljava/util/Optional;
        36: .line 1128
            astore 13 /* opt */
        start local 13 // java.util.Optional opt
        37: .line 1131
            aload 13 /* opt */
            aload 0 /* this */
            aload 12 /* propertyValue */
            aload 6 /* context */
            aload 9 /* rootBeanClass */
            aload 2 /* rootBean */
            aload 3 /* object */
            aload 10 /* cascadeProperty */
            aload 7 /* overallViolations */
            invokedynamic accept(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/beans/BeanProperty;Ljava/util/Set;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/micronaut/validation/validator/DefaultValidator.lambda$13(Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/beans/BeanProperty;Ljava/util/Set;Ljavax/validation/valueextraction/ValueExtractor;)V (7)
                  (Ljavax/validation/valueextraction/ValueExtractor;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
        38: .line 1193
            aload 13 /* opt */
            invokevirtual java.util.Optional.isPresent:()Z
            ifne 58
            aload 6 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.validatedObjects:Ljava/util/Set;
            aload 12 /* propertyValue */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 58
        39: .line 1195
            aload 6 /* context */
            aload 10 /* cascadeProperty */
            invokeinterface io.micronaut.core.beans.BeanProperty.getName:()Ljava/lang/String;
            aconst_null
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addPropertyNode:(Ljava/lang/String;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)Ljavax/validation/Path$Node;
            astore 14 /* node */
        start local 14 // javax.validation.Path$Node node
        40: .line 1198
            aload 0 /* this */
            aload 9 /* rootBeanClass */
            aload 6 /* context */
            aload 12 /* propertyValue */
            aload 14 /* node */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.canCascade:(Ljava/lang/Class;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Object;Ljavax/validation/Path$Node;)Z
            istore 15 /* canCascade */
        start local 15 // boolean canCascade
        41: .line 1199
            iload 15 /* canCascade */
            ifeq 57
        42: .line 1200
            aload 0 /* this */
        43: .line 1201
            aload 9 /* rootBeanClass */
        44: .line 1202
            aload 2 /* rootBean */
        45: .line 1203
            aload 3 /* object */
        46: .line 1204
            aload 6 /* context */
        47: .line 1205
            aload 7 /* overallViolations */
        48: .line 1206
            aload 10 /* cascadeProperty */
        49: .line 1207
            aload 10 /* cascadeProperty */
            invokeinterface io.micronaut.core.beans.BeanProperty.getType:()Ljava/lang/Class;
        50: .line 1208
            aload 12 /* propertyValue */
        51: .line 1209
            aconst_null
        52: .line 1200
            invokevirtual io.micronaut.validation.validator.DefaultValidator.cascadeToOne:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
        end local 15 // boolean canCascade
        53: .line 1211
            goto 57
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.core.beans.BeanIntrospection java.lang.Object java.lang.Object java.util.Collection java.util.Collection io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.util.List java.lang.Class io.micronaut.core.beans.BeanProperty java.util.Iterator java.lang.Object java.util.Optional javax.validation.Path$Node
      StackMap stack: java.lang.Throwable
        54: astore 16
        55: .line 1212
            aload 6 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        56: .line 1213
            aload 16
            athrow
        57: .line 1212
      StackMap locals:
      StackMap stack:
            aload 6 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        end local 14 // javax.validation.Path$Node node
        end local 13 // java.util.Optional opt
        end local 12 // java.lang.Object propertyValue
        end local 10 // io.micronaut.core.beans.BeanProperty cascadeProperty
        58: .line 1124
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.core.beans.BeanIntrospection java.lang.Object java.lang.Object java.util.Collection java.util.Collection io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.util.List java.lang.Class top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        59: .line 1218
            aload 7 /* overallViolations */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 9 // java.lang.Class rootBeanClass
        end local 8 // java.util.List pojoConstraints
        end local 7 // java.util.Set overallViolations
        end local 6 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 5 // java.util.Collection cascadeProperties
        end local 4 // java.util.Collection constrainedProperties
        end local 3 // java.lang.Object object
        end local 2 // java.lang.Object rootBean
        end local 1 // io.micronaut.core.beans.BeanIntrospection introspection
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   60     0                   this  Lio/micronaut/validation/validator/DefaultValidator;
            0   60     1          introspection  Lio/micronaut/core/beans/BeanIntrospection<TT;>;
            0   60     2               rootBean  TT;
            0   60     3                 object  Ljava/lang/Object;
            0   60     4  constrainedProperties  Ljava/util/Collection<+Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;>;
            0   60     5      cascadeProperties  Ljava/util/Collection<Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;>;
            0   60     6                context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   60     7      overallViolations  Ljava/util/Set;
            0   60     8        pojoConstraints  Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
            1   60     9          rootBeanClass  Ljava/lang/Class<TT;>;
            3   15    10    constrainedProperty  Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;
            4   15    12          propertyValue  Ljava/lang/Object;
           18   29    10         pojoConstraint  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
           32   58    10        cascadeProperty  Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;
           33   58    12          propertyValue  Ljava/lang/Object;
           37   58    13                    opt  Ljava/util/Optional<+Ljavax/validation/valueextraction/ValueExtractor<Ljava/lang/Object;>;>;
           40   58    14                   node  Ljavax/validation/Path$Node;
           41   53    15             canCascade  Z
      Exception table:
        from    to  target  type
          40    54      54  any
    Signature: <T:Ljava/lang/Object;>(Lio/micronaut/core/beans/BeanIntrospection<TT;>;TT;Ljava/lang/Object;Ljava/util/Collection<+Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;>;Ljava/util/Collection<Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;>;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
      3:
      4:
      5:
      6:
      7:
    MethodParameters:
                       Name  Flags
      introspection          
      rootBean               
      object                 
      constrainedProperties  
      cascadeProperties      
      context                
      overallViolations      
      pojoConstraints        

  private <T> boolean canCascade(java.lang.Class<T>, io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, , javax.validation.Path$Node);
    descriptor: (Ljava/lang/Class;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Object;Ljavax/validation/Path$Node;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class rootBeanClass
        start local 2 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 3 // java.lang.Object propertyValue
        start local 4 // javax.validation.Path$Node node
         0: .line 1226
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.traversableResolver:Ljavax/validation/TraversableResolver;
         1: .line 1227
            aload 3 /* propertyValue */
         2: .line 1228
            aload 4 /* node */
         3: .line 1229
            aload 1 /* rootBeanClass */
         4: .line 1230
            aload 2 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.currentPath:Lio/micronaut/validation/validator/DefaultValidator$PathImpl;
         5: .line 1231
            getstatic java.lang.annotation.ElementType.FIELD:Ljava/lang/annotation/ElementType;
         6: .line 1226
            invokeinterface javax.validation.TraversableResolver.isCascadable:(Ljava/lang/Object;Ljavax/validation/Path$Node;Ljava/lang/Class;Ljavax/validation/Path;Ljava/lang/annotation/ElementType;)Z
            istore 5 /* canCascade */
        start local 5 // boolean canCascade
         7: .line 1233
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.traversableResolver:Ljavax/validation/TraversableResolver;
         8: .line 1234
            aload 3 /* propertyValue */
         9: .line 1235
            aload 4 /* node */
        10: .line 1236
            aload 1 /* rootBeanClass */
        11: .line 1237
            aload 2 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.currentPath:Lio/micronaut/validation/validator/DefaultValidator$PathImpl;
        12: .line 1238
            getstatic java.lang.annotation.ElementType.FIELD:Ljava/lang/annotation/ElementType;
        13: .line 1233
            invokeinterface javax.validation.TraversableResolver.isReachable:(Ljava/lang/Object;Ljavax/validation/Path$Node;Ljava/lang/Class;Ljavax/validation/Path;Ljava/lang/annotation/ElementType;)Z
            istore 6 /* isReachable */
        start local 6 // boolean isReachable
        14: .line 1240
            iload 5 /* canCascade */
            ifeq 15
            iload 6 /* isReachable */
            ifeq 15
            iconst_1
            ireturn
      StackMap locals: int int
      StackMap stack:
        15: iconst_0
            ireturn
        end local 6 // boolean isReachable
        end local 5 // boolean canCascade
        end local 4 // javax.validation.Path$Node node
        end local 3 // java.lang.Object propertyValue
        end local 2 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 1 // java.lang.Class rootBeanClass
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lio/micronaut/validation/validator/DefaultValidator;
            0   16     1  rootBeanClass  Ljava/lang/Class<TT;>;
            0   16     2        context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   16     3  propertyValue  Ljava/lang/Object;
            0   16     4           node  Ljavax/validation/Path$Node;
            7   16     5     canCascade  Z
           14   16     6    isReachable  Z
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Object;Ljavax/validation/Path$Node;)Z
    MethodParameters:
               Name  Flags
      rootBeanClass  
      context        
      propertyValue  
      node           

  private <T> void cascadeToIterableValue(io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.lang.Class<T>, T, , io.micronaut.core.beans.BeanProperty<java.lang.Object, java.lang.Object>, , java.util.Set, java.lang.Integer, , );
    descriptor: (Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/beans/BeanProperty;Ljava/lang/Object;Ljava/util/Set;Ljava/lang/Integer;Ljava/lang/Object;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=12, args_size=11
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 2 // java.lang.Class rootClass
        start local 3 // java.lang.Object rootBean
        start local 4 // java.lang.Object object
        start local 5 // io.micronaut.core.beans.BeanProperty cascadeProperty
        start local 6 // java.lang.Object iterableValue
        start local 7 // java.util.Set overallViolations
        start local 8 // java.lang.Integer index
        start local 9 // java.lang.Object key
        start local 10 // boolean isIterable
         0: .line 1254
            new io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode
            dup
            aload 0 /* this */
         1: .line 1255
            aload 5 /* cascadeProperty */
            invokeinterface io.micronaut.core.beans.BeanProperty.getName:()Ljava/lang/String;
         2: .line 1256
            aload 5 /* cascadeProperty */
            invokeinterface io.micronaut.core.beans.BeanProperty.getType:()Ljava/lang/Class;
         3: .line 1257
            aload 8 /* index */
         4: .line 1258
            aload 9 /* key */
         5: .line 1259
            getstatic javax.validation.ElementKind.CONTAINER_ELEMENT:Ljavax/validation/ElementKind;
         6: .line 1260
            iload 10 /* isIterable */
         7: .line 1254
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Integer;Ljava/lang/Object;Ljavax/validation/ElementKind;Z)V
            astore 11 /* container */
        start local 11 // io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode container
         8: .line 1262
            aload 0 /* this */
         9: .line 1263
            aload 2 /* rootClass */
        10: .line 1264
            aload 3 /* rootBean */
        11: .line 1265
            aload 4 /* object */
        12: .line 1266
            aload 1 /* context */
        13: .line 1267
            aload 7 /* overallViolations */
        14: .line 1268
            aload 5 /* cascadeProperty */
        15: .line 1269
            aload 5 /* cascadeProperty */
            invokeinterface io.micronaut.core.beans.BeanProperty.getType:()Ljava/lang/Class;
        16: .line 1270
            aload 6 /* iterableValue */
        17: .line 1271
            aload 11 /* container */
        18: .line 1262
            invokevirtual io.micronaut.validation.validator.DefaultValidator.cascadeToOne:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
        19: .line 1273
            return
        end local 11 // io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode container
        end local 10 // boolean isIterable
        end local 9 // java.lang.Object key
        end local 8 // java.lang.Integer index
        end local 7 // java.util.Set overallViolations
        end local 6 // java.lang.Object iterableValue
        end local 5 // io.micronaut.core.beans.BeanProperty cascadeProperty
        end local 4 // java.lang.Object object
        end local 3 // java.lang.Object rootBean
        end local 2 // java.lang.Class rootClass
        end local 1 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               this  Lio/micronaut/validation/validator/DefaultValidator;
            0   20     1            context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   20     2          rootClass  Ljava/lang/Class<TT;>;
            0   20     3           rootBean  TT;
            0   20     4             object  Ljava/lang/Object;
            0   20     5    cascadeProperty  Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;
            0   20     6      iterableValue  Ljava/lang/Object;
            0   20     7  overallViolations  Ljava/util/Set;
            0   20     8              index  Ljava/lang/Integer;
            0   20     9                key  Ljava/lang/Object;
            0   20    10         isIterable  Z
            8   20    11          container  Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;
    Signature: <T:Ljava/lang/Object;>(Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class<TT;>;TT;Ljava/lang/Object;Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;Ljava/lang/Object;Ljava/util/Set;Ljava/lang/Integer;Ljava/lang/Object;Z)V
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
      3:
      4:
      5:
      6:
      7:
      8:
      9:
    MethodParameters:
                   Name  Flags
      context            
      rootClass          
      rootBean           
      object             
      cascadeProperty    
      iterableValue      
      overallViolations  
      index              
      key                
      isIterable         

  private <T> void cascadeToIterableValue(io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.lang.Class<T>, T, , javax.validation.Path$Node, io.micronaut.core.type.Argument, , java.util.Set, java.lang.Integer, , );
    descriptor: (Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Ljavax/validation/Path$Node;Lio/micronaut/core/type/Argument;Ljava/lang/Object;Ljava/util/Set;Ljava/lang/Integer;Ljava/lang/Object;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=13, args_size=12
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 2 // java.lang.Class rootClass
        start local 3 // java.lang.Object rootBean
        start local 4 // java.lang.Object object
        start local 5 // javax.validation.Path$Node node
        start local 6 // io.micronaut.core.type.Argument methodArgument
        start local 7 // java.lang.Object iterableValue
        start local 8 // java.util.Set overallViolations
        start local 9 // java.lang.Integer index
        start local 10 // java.lang.Object key
        start local 11 // boolean isIterable
         0: .line 1287
            aload 0 /* this */
            aload 2 /* rootClass */
            aload 1 /* context */
            aload 7 /* iterableValue */
            aload 5 /* node */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.canCascade:(Ljava/lang/Class;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Object;Ljavax/validation/Path$Node;)Z
            ifeq 20
         1: .line 1288
            new io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode
            dup
            aload 0 /* this */
         2: .line 1289
            aload 6 /* methodArgument */
            invokeinterface io.micronaut.core.type.Argument.getName:()Ljava/lang/String;
         3: .line 1290
            aload 6 /* methodArgument */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
         4: .line 1291
            aload 9 /* index */
         5: .line 1292
            aload 10 /* key */
         6: .line 1293
            getstatic javax.validation.ElementKind.CONTAINER_ELEMENT:Ljavax/validation/ElementKind;
         7: .line 1294
            iload 11 /* isIterable */
         8: .line 1288
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Integer;Ljava/lang/Object;Ljavax/validation/ElementKind;Z)V
            astore 12 /* currentContainerNode */
        start local 12 // io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode currentContainerNode
         9: .line 1297
            aload 0 /* this */
        10: .line 1298
            aload 2 /* rootClass */
        11: .line 1299
            aload 3 /* rootBean */
        12: .line 1300
            aload 4 /* object */
        13: .line 1301
            aload 1 /* context */
        14: .line 1302
            aload 8 /* overallViolations */
        15: .line 1303
            aload 6 /* methodArgument */
        16: .line 1304
            aload 6 /* methodArgument */
            invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
        17: .line 1305
            aload 7 /* iterableValue */
        18: .line 1307
            aload 12 /* currentContainerNode */
        19: .line 1297
            invokevirtual io.micronaut.validation.validator.DefaultValidator.cascadeToOne:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
        end local 12 // io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode currentContainerNode
        20: .line 1309
      StackMap locals:
      StackMap stack:
            return
        end local 11 // boolean isIterable
        end local 10 // java.lang.Object key
        end local 9 // java.lang.Integer index
        end local 8 // java.util.Set overallViolations
        end local 7 // java.lang.Object iterableValue
        end local 6 // io.micronaut.core.type.Argument methodArgument
        end local 5 // javax.validation.Path$Node node
        end local 4 // java.lang.Object object
        end local 3 // java.lang.Object rootBean
        end local 2 // java.lang.Class rootClass
        end local 1 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   21     0                  this  Lio/micronaut/validation/validator/DefaultValidator;
            0   21     1               context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   21     2             rootClass  Ljava/lang/Class<TT;>;
            0   21     3              rootBean  TT;
            0   21     4                object  Ljava/lang/Object;
            0   21     5                  node  Ljavax/validation/Path$Node;
            0   21     6        methodArgument  Lio/micronaut/core/type/Argument;
            0   21     7         iterableValue  Ljava/lang/Object;
            0   21     8     overallViolations  Ljava/util/Set;
            0   21     9                 index  Ljava/lang/Integer;
            0   21    10                   key  Ljava/lang/Object;
            0   21    11            isIterable  Z
            9   20    12  currentContainerNode  Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;
    Signature: <T:Ljava/lang/Object;>(Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class<TT;>;TT;Ljava/lang/Object;Ljavax/validation/Path$Node;Lio/micronaut/core/type/Argument;Ljava/lang/Object;Ljava/util/Set;Ljava/lang/Integer;Ljava/lang/Object;Z)V
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
      3:
        edu.umd.cs.findbugs.annotations.Nullable()
      4:
      5:
      6:
      7:
      8:
      9:
      10:
    MethodParameters:
                   Name  Flags
      context            
      rootClass          
      rootBean           
      object             
      node               
      methodArgument     
      iterableValue      
      overallViolations  
      index              
      key                
      isIterable         

  private <T> void cascadeToOne(java.lang.Class<T>, T, , io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.util.Set, io.micronaut.core.annotation.AnnotatedElement, java.lang.Class, , io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=13, args_size=10
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class rootClass
        start local 2 // java.lang.Object rootBean
        start local 3 // java.lang.Object object
        start local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 5 // java.util.Set overallViolations
        start local 6 // io.micronaut.core.annotation.AnnotatedElement cascadeProperty
        start local 7 // java.lang.Class propertyType
        start local 8 // java.lang.Object propertyValue
        start local 9 // io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode container
         0: .line 1322
            aload 0 /* this */
            aload 8 /* propertyValue */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.getBeanIntrospection:(Ljava/lang/Object;)Lio/micronaut/core/beans/BeanIntrospection;
            astore 10 /* beanIntrospection */
        start local 10 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
         1: .line 1323
            aload 6 /* cascadeProperty */
            invokeinterface io.micronaut.core.annotation.AnnotatedElement.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            astore 11 /* annotationMetadata */
        start local 11 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
         2: .line 1324
            aload 10 /* beanIntrospection */
            ifnonnull 7
            aload 11 /* annotationMetadata */
            ldc Ljavax/validation/Constraint;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.hasStereotype:(Ljava/lang/Class;)Z
            ifne 7
         3: .line 1326
            aload 5 /* overallViolations */
            aload 0 /* this */
         4: .line 1327
            aload 1 /* rootClass */
            aload 2 /* rootBean */
            aload 4 /* context */
            aload 8 /* propertyValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 8 /* propertyValue */
            iconst_0
            anewarray java.lang.Object
         5: .line 1326
            invokevirtual io.micronaut.validation.validator.DefaultValidator.createIntrospectionConstraintViolation:(Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;)Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintViolation;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1328
            return
         7: .line 1331
      StackMap locals: io.micronaut.core.beans.BeanIntrospection io.micronaut.core.annotation.AnnotationMetadata
      StackMap stack:
            aload 10 /* beanIntrospection */
            ifnull 25
         8: .line 1332
            aload 9 /* container */
            ifnull 10
         9: .line 1333
            aload 4 /* context */
            aload 9 /* container */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode.getName:()Ljava/lang/String;
            aload 9 /* container */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addPropertyNode:(Ljava/lang/String;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)Ljavax/validation/Path$Node;
            pop
        10: .line 1336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        11: .line 1337
            aload 4 /* context */
        12: .line 1338
            aload 2 /* rootBean */
        13: .line 1339
            aload 8 /* propertyValue */
        14: .line 1340
            aload 10 /* beanIntrospection */
        15: .line 1341
            aload 5 /* overallViolations */
        16: .line 1336
            invokevirtual io.micronaut.validation.validator.DefaultValidator.cascadeToOneIntrospection:(Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/beans/BeanIntrospection;Ljava/util/Set;)V
        17: .line 1342
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 12
        19: .line 1343
            aload 9 /* container */
            ifnull 21
        20: .line 1344
            aload 4 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        21: .line 1347
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        22: .line 1343
      StackMap locals:
      StackMap stack:
            aload 9 /* container */
            ifnull 36
        23: .line 1344
            aload 4 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        24: .line 1349
            goto 36
        25: .line 1352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        26: .line 1353
            aload 1 /* rootClass */
        27: .line 1354
            aload 2 /* rootBean */
        28: .line 1355
            aload 3 /* object */
        29: .line 1356
            aload 6 /* cascadeProperty */
        30: .line 1357
            aload 7 /* propertyType */
        31: .line 1358
            aload 8 /* propertyValue */
        32: .line 1359
            aload 4 /* context */
        33: .line 1360
            aload 5 /* overallViolations */
        34: .line 1361
            aload 9 /* container */
        35: .line 1352
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateConstrainedPropertyInternal:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
        36: .line 1364
      StackMap locals:
      StackMap stack:
            return
        end local 11 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        end local 10 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
        end local 9 // io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode container
        end local 8 // java.lang.Object propertyValue
        end local 7 // java.lang.Class propertyType
        end local 6 // io.micronaut.core.annotation.AnnotatedElement cascadeProperty
        end local 5 // java.util.Set overallViolations
        end local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 3 // java.lang.Object object
        end local 2 // java.lang.Object rootBean
        end local 1 // java.lang.Class rootClass
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   37     0                this  Lio/micronaut/validation/validator/DefaultValidator;
            0   37     1           rootClass  Ljava/lang/Class<TT;>;
            0   37     2            rootBean  TT;
            0   37     3              object  Ljava/lang/Object;
            0   37     4             context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   37     5   overallViolations  Ljava/util/Set;
            0   37     6     cascadeProperty  Lio/micronaut/core/annotation/AnnotatedElement;
            0   37     7        propertyType  Ljava/lang/Class;
            0   37     8       propertyValue  Ljava/lang/Object;
            0   37     9           container  Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;
            1   37    10   beanIntrospection  Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;
            2   37    11  annotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
      Exception table:
        from    to  target  type
          10    18      18  any
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TT;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
      2:
      3:
      4:
      5:
      6:
      7:
      8:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                   Name  Flags
      rootClass          
      rootBean           
      object             
      context            
      overallViolations  
      cascadeProperty    
      propertyType       
      propertyValue      
      container          

  private <T> void cascadeToOneIntrospection(io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, T, , io.micronaut.core.beans.BeanIntrospection<java.lang.Object>, java.util.Set);
    descriptor: (Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/beans/BeanIntrospection;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, args_size=6
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 2 // java.lang.Object rootBean
        start local 3 // java.lang.Object bean
        start local 4 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
        start local 5 // java.util.Set overallViolations
         0: .line 1367
            aload 1 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.validatedObjects:Ljava/util/Set;
            aload 3 /* bean */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1369
            aload 4 /* beanIntrospection */
            ldc Ljavax/validation/Constraint;
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getIndexedProperties:(Ljava/lang/Class;)Ljava/util/Collection;
         2: .line 1368
            astore 6 /* cascadeConstraints */
        start local 6 // java.util.Collection cascadeConstraints
         3: .line 1371
            aload 4 /* beanIntrospection */
            ldc Ljavax/validation/Valid;
            invokeinterface io.micronaut.core.beans.BeanIntrospection.getIndexedProperties:(Ljava/lang/Class;)Ljava/util/Collection;
         4: .line 1370
            astore 7 /* cascadeNestedProperties */
        start local 7 // java.util.Collection cascadeNestedProperties
         5: .line 1373
            aload 6 /* cascadeConstraints */
            invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
            ifne 6
            aload 7 /* cascadeNestedProperties */
            invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
            ifeq 16
         6: .line 1374
      StackMap locals: java.util.Collection java.util.Collection
      StackMap stack:
            aload 0 /* this */
         7: .line 1375
            aload 4 /* beanIntrospection */
         8: .line 1376
            aload 2 /* rootBean */
         9: .line 1377
            aload 3 /* bean */
        10: .line 1378
            aload 6 /* cascadeConstraints */
        11: .line 1379
            aload 7 /* cascadeNestedProperties */
        12: .line 1380
            aload 1 /* context */
        13: .line 1381
            aload 5 /* overallViolations */
        14: .line 1382
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
        15: .line 1374
            invokevirtual io.micronaut.validation.validator.DefaultValidator.doValidate:(Lio/micronaut/core/beans/BeanIntrospection;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Collection;Ljava/util/Collection;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/util/List;)Ljava/util/Set;
            pop
        16: .line 1385
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.util.Collection cascadeNestedProperties
        end local 6 // java.util.Collection cascadeConstraints
        end local 5 // java.util.Set overallViolations
        end local 4 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
        end local 3 // java.lang.Object bean
        end local 2 // java.lang.Object rootBean
        end local 1 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   17     0                     this  Lio/micronaut/validation/validator/DefaultValidator;
            0   17     1                  context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   17     2                 rootBean  TT;
            0   17     3                     bean  Ljava/lang/Object;
            0   17     4        beanIntrospection  Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;
            0   17     5        overallViolations  Ljava/util/Set;
            3   17     6       cascadeConstraints  Ljava/util/Collection<Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;>;
            5   17     7  cascadeNestedProperties  Ljava/util/Collection<Lio/micronaut/core/beans/BeanProperty<Ljava/lang/Object;Ljava/lang/Object;>;>;
    Signature: <T:Ljava/lang/Object;>(Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;TT;Ljava/lang/Object;Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;Ljava/util/Set;)V
    MethodParameters:
                   Name  Flags
      context            
      rootBean           
      bean               
      beanIntrospection  
      overallViolations  

  private <T> void validateConstrainedPropertyInternal(java.lang.Class<T>, T, , io.micronaut.core.annotation.AnnotatedElement, java.lang.Class, , io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.util.Set<javax.validation.ConstraintViolation<java.lang.Object>>, io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=10
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class rootBeanClass
        start local 2 // java.lang.Object rootBean
        start local 3 // java.lang.Object object
        start local 4 // io.micronaut.core.annotation.AnnotatedElement constrainedProperty
        start local 5 // java.lang.Class propertyType
        start local 6 // java.lang.Object propertyValue
        start local 7 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 8 // java.util.Set overallViolations
        start local 9 // io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode container
         0: .line 1397
            aload 7 /* context */
         1: .line 1398
            aload 4 /* constrainedProperty */
            invokeinterface io.micronaut.core.annotation.AnnotatedElement.getName:()Ljava/lang/String;
            aload 9 /* container */
         2: .line 1397
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addPropertyNode:(Ljava/lang/String;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)Ljavax/validation/Path$Node;
            pop
         3: .line 1401
            aload 0 /* this */
         4: .line 1402
            aload 1 /* rootBeanClass */
         5: .line 1403
            aload 2 /* rootBean */
         6: .line 1404
            aload 3 /* object */
         7: .line 1405
            aload 7 /* context */
         8: .line 1406
            aload 8 /* overallViolations */
         9: .line 1407
            aload 5 /* propertyType */
        10: .line 1408
            aload 4 /* constrainedProperty */
        11: .line 1409
            aload 6 /* propertyValue */
        12: .line 1401
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validatePropertyInternal:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Object;)V
        13: .line 1411
            aload 7 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        14: .line 1412
            return
        end local 9 // io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode container
        end local 8 // java.util.Set overallViolations
        end local 7 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 6 // java.lang.Object propertyValue
        end local 5 // java.lang.Class propertyType
        end local 4 // io.micronaut.core.annotation.AnnotatedElement constrainedProperty
        end local 3 // java.lang.Object object
        end local 2 // java.lang.Object rootBean
        end local 1 // java.lang.Class rootBeanClass
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Lio/micronaut/validation/validator/DefaultValidator;
            0   15     1        rootBeanClass  Ljava/lang/Class<TT;>;
            0   15     2             rootBean  TT;
            0   15     3               object  Ljava/lang/Object;
            0   15     4  constrainedProperty  Lio/micronaut/core/annotation/AnnotatedElement;
            0   15     5         propertyType  Ljava/lang/Class;
            0   15     6        propertyValue  Ljava/lang/Object;
            0   15     7              context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   15     8    overallViolations  Ljava/util/Set<Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;>;
            0   15     9            container  Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TT;Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set<Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;>;Lio/micronaut/validation/validator/DefaultValidator$DefaultPropertyNode;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
      3:
        edu.umd.cs.findbugs.annotations.NonNull()
      4:
        edu.umd.cs.findbugs.annotations.NonNull()
      5:
        edu.umd.cs.findbugs.annotations.Nullable()
      6:
      7:
      8:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                     Name  Flags
      rootBeanClass        
      rootBean             
      object               
      constrainedProperty  
      propertyType         
      propertyValue        
      context              
      overallViolations    
      container            

  private <T> void validatePropertyInternal(java.lang.Class<T>, T, , io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.util.Set<javax.validation.ConstraintViolation<java.lang.Object>>, java.lang.Class, io.micronaut.core.annotation.AnnotatedElement, );
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=14, args_size=9
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class rootBeanClass
        start local 2 // java.lang.Object rootBean
        start local 3 // java.lang.Object object
        start local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 5 // java.util.Set overallViolations
        start local 6 // java.lang.Class propertyType
        start local 7 // io.micronaut.core.annotation.AnnotatedElement constrainedProperty
        start local 8 // java.lang.Object propertyValue
         0: .line 1423
            aload 7 /* constrainedProperty */
            invokeinterface io.micronaut.core.annotation.AnnotatedElement.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            astore 9 /* annotationMetadata */
        start local 9 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
         1: .line 1424
            aload 9 /* annotationMetadata */
            ldc Ljavax/validation/Constraint;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.getAnnotationTypesByStereotype:(Ljava/lang/Class;)Ljava/util/List;
            astore 10 /* constraintTypes */
        start local 10 // java.util.List constraintTypes
         2: .line 1425
            aload 10 /* constraintTypes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 23
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.lang.Class io.micronaut.core.annotation.AnnotatedElement java.lang.Object io.micronaut.core.annotation.AnnotationMetadata java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 11 /* constraintType */
        start local 11 // java.lang.Class constraintType
         4: .line 1427
            aconst_null
            astore 13 /* valueExtractor */
        start local 13 // javax.validation.valueextraction.ValueExtractor valueExtractor
         5: .line 1428
            aload 8 /* propertyValue */
            ifnull 9
            aload 9 /* annotationMetadata */
            ldc Ljavax/validation/Valid;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.hasAnnotation:(Ljava/lang/Class;)Z
            ifne 9
         6: .line 1430
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.valueExtractorRegistry:Lio/micronaut/validation/validator/extractors/ValueExtractorRegistry;
            aload 8 /* propertyValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface io.micronaut.validation.validator.extractors.ValueExtractorRegistry.findUnwrapValueExtractor:(Ljava/lang/Class;)Ljava/util/Optional;
         7: .line 1431
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.validation.valueextraction.ValueExtractor
         8: .line 1430
            astore 13 /* valueExtractor */
         9: .line 1434
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.lang.Class io.micronaut.core.annotation.AnnotatedElement java.lang.Object io.micronaut.core.annotation.AnnotationMetadata java.util.List java.lang.Class java.util.Iterator javax.validation.valueextraction.ValueExtractor
      StackMap stack:
            aload 13 /* valueExtractor */
            ifnull 12
        10: .line 1435
            aload 13 /* valueExtractor */
            aload 8 /* propertyValue */
            aload 0 /* this */
            aload 1 /* rootBeanClass */
            aload 2 /* rootBean */
            aload 3 /* object */
            aload 4 /* context */
            aload 5 /* overallViolations */
            aload 7 /* constrainedProperty */
            aload 6 /* propertyType */
            aload 11 /* constraintType */
            invokedynamic value(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Class;)Lio/micronaut/validation/validator/extractors/SimpleValueReceiver;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/String;Ljava/lang/Object;)V
                  io/micronaut/validation/validator/DefaultValidator.lambda$14(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V (7)
                  (Ljava/lang/String;Ljava/lang/Object;)V
            invokeinterface javax.validation.valueextraction.ValueExtractor.extractValues:(Ljava/lang/Object;Ljavax/validation/valueextraction/ValueExtractor$ValueReceiver;)V
        11: .line 1446
            goto 23
        12: .line 1447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        13: .line 1448
            aload 1 /* rootBeanClass */
        14: .line 1449
            aload 2 /* rootBean */
        15: .line 1450
            aload 3 /* object */
        16: .line 1451
            aload 4 /* context */
        17: .line 1452
            aload 5 /* overallViolations */
        18: .line 1453
            aload 7 /* constrainedProperty */
        19: .line 1454
            aload 6 /* propertyType */
        20: .line 1455
            aload 8 /* propertyValue */
        21: .line 1456
            aload 11 /* constraintType */
        22: .line 1447
            invokevirtual io.micronaut.validation.validator.DefaultValidator.valueConstraintOnProperty:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Class;)V
        end local 13 // javax.validation.valueextraction.ValueExtractor valueExtractor
        end local 11 // java.lang.Class constraintType
        23: .line 1425
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.lang.Class io.micronaut.core.annotation.AnnotatedElement java.lang.Object io.micronaut.core.annotation.AnnotationMetadata java.util.List top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        24: .line 1460
            return
        end local 10 // java.util.List constraintTypes
        end local 9 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        end local 8 // java.lang.Object propertyValue
        end local 7 // io.micronaut.core.annotation.AnnotatedElement constrainedProperty
        end local 6 // java.lang.Class propertyType
        end local 5 // java.util.Set overallViolations
        end local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 3 // java.lang.Object object
        end local 2 // java.lang.Object rootBean
        end local 1 // java.lang.Class rootBeanClass
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   25     0                 this  Lio/micronaut/validation/validator/DefaultValidator;
            0   25     1        rootBeanClass  Ljava/lang/Class<TT;>;
            0   25     2             rootBean  TT;
            0   25     3               object  Ljava/lang/Object;
            0   25     4              context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   25     5    overallViolations  Ljava/util/Set<Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;>;
            0   25     6         propertyType  Ljava/lang/Class;
            0   25     7  constrainedProperty  Lio/micronaut/core/annotation/AnnotatedElement;
            0   25     8        propertyValue  Ljava/lang/Object;
            1   25     9   annotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
            2   25    10      constraintTypes  Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
            4   23    11       constraintType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            5   23    13       valueExtractor  Ljavax/validation/valueextraction/ValueExtractor<Ljava/lang/Object;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TT;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set<Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;>;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Object;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
      3:
        edu.umd.cs.findbugs.annotations.NonNull()
      4:
        edu.umd.cs.findbugs.annotations.NonNull()
      5:
        edu.umd.cs.findbugs.annotations.NonNull()
      6:
        edu.umd.cs.findbugs.annotations.NonNull()
      7:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                     Name  Flags
      rootBeanClass        
      rootBean             
      object               
      context              
      overallViolations    
      propertyType         
      constrainedProperty  
      propertyValue        

  private <T> void valueConstraintOnProperty(java.lang.Class<T>, T, , io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.util.Set<javax.validation.ConstraintViolation<java.lang.Object>>, io.micronaut.core.annotation.AnnotatedElement, java.lang.Class, , java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=16, locals=19, args_size=10
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class rootBeanClass
        start local 2 // java.lang.Object rootBean
        start local 3 // java.lang.Object object
        start local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 5 // java.util.Set overallViolations
        start local 6 // io.micronaut.core.annotation.AnnotatedElement constrainedProperty
        start local 7 // java.lang.Class propertyType
        start local 8 // java.lang.Object propertyValue
        start local 9 // java.lang.Class constraintType
         0: .line 1473
            aload 6 /* constrainedProperty */
         1: .line 1474
            invokeinterface io.micronaut.core.annotation.AnnotatedElement.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
         2: .line 1473
            astore 10 /* annotationMetadata */
        start local 10 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
         3: .line 1475
            aload 10 /* annotationMetadata */
         4: .line 1476
            aload 9 /* constraintType */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.getAnnotationValuesByType:(Ljava/lang/Class;)Ljava/util/List;
         5: .line 1475
            astore 11 /* annotationValues */
        start local 11 // java.util.List annotationValues
         6: .line 1478
            new java.util.HashSet
            dup
            iconst_3
            invokespecial java.util.HashSet.<init>:(I)V
            astore 12 /* constraints */
        start local 12 // java.util.Set constraints
         7: .line 1479
            aload 4 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.groups:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 14
            goto 20
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.annotation.AnnotatedElement java.lang.Class java.lang.Object java.lang.Class io.micronaut.core.annotation.AnnotationMetadata java.util.List java.util.Set top java.util.Iterator
      StackMap stack:
         8: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 13 /* group */
        start local 13 // java.lang.Class group
         9: .line 1480
            aload 11 /* annotationValues */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16
            goto 19
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.annotation.AnnotatedElement java.lang.Class java.lang.Object java.lang.Class io.micronaut.core.annotation.AnnotationMetadata java.util.List java.util.Set java.lang.Class java.util.Iterator top java.util.Iterator
      StackMap stack:
        10: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.micronaut.core.annotation.AnnotationValue
            astore 15 /* annotationValue */
        start local 15 // io.micronaut.core.annotation.AnnotationValue annotationValue
        11: .line 1481
            aload 15 /* annotationValue */
            ldc "groups"
            invokevirtual io.micronaut.core.annotation.AnnotationValue.classValues:(Ljava/lang/String;)[Ljava/lang/Class;
            astore 17 /* classValues */
        start local 17 // java.lang.Class[] classValues
        12: .line 1482
            aload 17 /* classValues */
            invokestatic io.micronaut.core.util.ArrayUtils.isEmpty:([Ljava/lang/Object;)Z
            ifeq 16
        13: .line 1483
            aload 4 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.groups:Ljava/util/List;
            getstatic io.micronaut.validation.validator.DefaultValidator.DEFAULT_GROUPS:Ljava/util/List;
            if_acmpeq 14
            aload 13 /* group */
            ldc Ljavax/validation/groups/Default;
            if_acmpne 19
        14: .line 1484
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.annotation.AnnotatedElement java.lang.Class java.lang.Object java.lang.Class io.micronaut.core.annotation.AnnotationMetadata java.util.List java.util.Set java.lang.Class java.util.Iterator io.micronaut.core.annotation.AnnotationValue java.util.Iterator java.lang.Class[]
      StackMap stack:
            aload 12 /* constraints */
            aload 15 /* annotationValue */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 1486
            goto 19
        16: .line 1487
      StackMap locals:
      StackMap stack:
            aload 17 /* classValues */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 18 /* constraintGroups */
        start local 18 // java.util.List constraintGroups
        17: .line 1488
            aload 18 /* constraintGroups */
            aload 13 /* group */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 1489
            aload 12 /* constraints */
            aload 15 /* annotationValue */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 18 // java.util.List constraintGroups
        end local 17 // java.lang.Class[] classValues
        end local 15 // io.micronaut.core.annotation.AnnotationValue annotationValue
        19: .line 1480
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.annotation.AnnotatedElement java.lang.Class java.lang.Object java.lang.Class io.micronaut.core.annotation.AnnotationMetadata java.util.List java.util.Set java.lang.Class java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 13 // java.lang.Class group
        20: .line 1479
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.annotation.AnnotatedElement java.lang.Class java.lang.Object java.lang.Class io.micronaut.core.annotation.AnnotationMetadata java.util.List java.util.Set top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        21: .line 1495
            aload 8 /* propertyValue */
            ifnull 22
            aload 8 /* propertyValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            goto 23
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.annotation.AnnotatedElement java.lang.Class java.lang.Object java.lang.Class io.micronaut.core.annotation.AnnotationMetadata java.util.List java.util.Set
      StackMap stack:
        22: aload 7 /* propertyType */
      StackMap locals:
      StackMap stack: java.lang.Class
        23: astore 13 /* targetType */
        start local 13 // java.lang.Class targetType
        24: .line 1496
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.constraintValidatorRegistry:Lio/micronaut/validation/validator/constraints/ConstraintValidatorRegistry;
        25: .line 1497
            aload 9 /* constraintType */
            aload 13 /* targetType */
            invokeinterface io.micronaut.validation.validator.constraints.ConstraintValidatorRegistry.findConstraintValidator:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.micronaut.validation.validator.constraints.ConstraintValidator
        26: .line 1496
            astore 14 /* validator */
        start local 14 // io.micronaut.validation.validator.constraints.ConstraintValidator validator
        27: .line 1498
            aload 14 /* validator */
            ifnull 46
        28: .line 1499
            aload 12 /* constraints */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 16
            goto 45
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.annotation.AnnotatedElement java.lang.Class java.lang.Object java.lang.Class io.micronaut.core.annotation.AnnotationMetadata java.util.List java.util.Set java.lang.Class io.micronaut.validation.validator.constraints.ConstraintValidator top java.util.Iterator
      StackMap stack:
        29: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.micronaut.core.annotation.AnnotationValue
            astore 15 /* annotationValue */
        start local 15 // io.micronaut.core.annotation.AnnotationValue annotationValue
        30: .line 1501
            aload 14 /* validator */
            aload 8 /* propertyValue */
            aload 15 /* annotationValue */
            aload 4 /* context */
            invokeinterface io.micronaut.validation.validator.constraints.ConstraintValidator.isValid:(Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationValue;Lio/micronaut/validation/validator/constraints/ConstraintValidatorContext;)Z
            ifne 45
        31: .line 1503
            aload 0 /* this */
            aload 15 /* annotationValue */
            aload 10 /* annotationMetadata */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.buildMessageTemplate:(Lio/micronaut/core/annotation/AnnotationValue;Lio/micronaut/core/annotation/AnnotationMetadata;)Ljava/lang/String;
            astore 17 /* messageTemplate */
        start local 17 // java.lang.String messageTemplate
        32: .line 1504
            aload 0 /* this */
            aload 15 /* annotationValue */
            aload 8 /* propertyValue */
            aload 10 /* annotationMetadata */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.newConstraintVariables:(Lio/micronaut/core/annotation/AnnotationValue;Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationMetadata;)Ljava/util/Map;
            astore 18 /* variables */
        start local 18 // java.util.Map variables
        33: .line 1506
            aload 5 /* overallViolations */
        34: .line 1507
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintViolation
            dup
            aload 0 /* this */
        35: .line 1508
            aload 2 /* rootBean */
        36: .line 1509
            aload 1 /* rootBeanClass */
        37: .line 1510
            aload 3 /* object */
        38: .line 1511
            aload 8 /* propertyValue */
        39: .line 1512
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.messageSource:Lio/micronaut/context/MessageSource;
            aload 17 /* messageTemplate */
            aload 18 /* variables */
            invokestatic io.micronaut.context.MessageSource$MessageContext.of:(Ljava/util/Map;)Lio/micronaut/context/MessageSource$MessageContext;
            invokeinterface io.micronaut.context.MessageSource.interpolate:(Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/lang/String;
        40: .line 1513
            aload 17 /* messageTemplate */
        41: .line 1514
            new io.micronaut.validation.validator.DefaultValidator$PathImpl
            dup
            aload 0 /* this */
            aload 4 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.currentPath:Lio/micronaut/validation/validator/DefaultValidator$PathImpl;
            invokespecial io.micronaut.validation.validator.DefaultValidator$PathImpl.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Lio/micronaut/validation/validator/DefaultValidator$PathImpl;)V
        42: .line 1515
            new io.micronaut.validation.validator.DefaultConstraintDescriptor
            dup
            aload 10 /* annotationMetadata */
            aload 9 /* constraintType */
            aload 15 /* annotationValue */
            invokespecial io.micronaut.validation.validator.DefaultConstraintDescriptor.<init>:(Lio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Class;Lio/micronaut/core/annotation/AnnotationValue;)V
        43: .line 1507
            iconst_0
            anewarray java.lang.Object
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintViolation.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljavax/validation/Path;Ljavax/validation/metadata/ConstraintDescriptor;[Ljava/lang/Object;)V
        44: .line 1506
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 18 // java.util.Map variables
        end local 17 // java.lang.String messageTemplate
        end local 15 // io.micronaut.core.annotation.AnnotationValue annotationValue
        45: .line 1499
      StackMap locals:
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        46: .line 1521
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.annotation.AnnotatedElement java.lang.Class java.lang.Object java.lang.Class io.micronaut.core.annotation.AnnotationMetadata java.util.List java.util.Set java.lang.Class io.micronaut.validation.validator.constraints.ConstraintValidator
      StackMap stack:
            return
        end local 14 // io.micronaut.validation.validator.constraints.ConstraintValidator validator
        end local 13 // java.lang.Class targetType
        end local 12 // java.util.Set constraints
        end local 11 // java.util.List annotationValues
        end local 10 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        end local 9 // java.lang.Class constraintType
        end local 8 // java.lang.Object propertyValue
        end local 7 // java.lang.Class propertyType
        end local 6 // io.micronaut.core.annotation.AnnotatedElement constrainedProperty
        end local 5 // java.util.Set overallViolations
        end local 4 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 3 // java.lang.Object object
        end local 2 // java.lang.Object rootBean
        end local 1 // java.lang.Class rootBeanClass
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   47     0                 this  Lio/micronaut/validation/validator/DefaultValidator;
            0   47     1        rootBeanClass  Ljava/lang/Class<TT;>;
            0   47     2             rootBean  TT;
            0   47     3               object  Ljava/lang/Object;
            0   47     4              context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0   47     5    overallViolations  Ljava/util/Set<Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;>;
            0   47     6  constrainedProperty  Lio/micronaut/core/annotation/AnnotatedElement;
            0   47     7         propertyType  Ljava/lang/Class;
            0   47     8        propertyValue  Ljava/lang/Object;
            0   47     9       constraintType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            3   47    10   annotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
            6   47    11     annotationValues  Ljava/util/List<+Lio/micronaut/core/annotation/AnnotationValue<+Ljava/lang/annotation/Annotation;>;>;
            7   47    12          constraints  Ljava/util/Set<Lio/micronaut/core/annotation/AnnotationValue<+Ljava/lang/annotation/Annotation;>;>;
            9   20    13                group  Ljava/lang/Class<*>;
           11   19    15      annotationValue  Lio/micronaut/core/annotation/AnnotationValue<+Ljava/lang/annotation/Annotation;>;
           12   19    17          classValues  [Ljava/lang/Class;
           17   19    18     constraintGroups  Ljava/util/List<Ljava/lang/Class;>;
           24   47    13           targetType  Ljava/lang/Class<Ljava/lang/Object;>;
           27   47    14            validator  Lio/micronaut/validation/validator/constraints/ConstraintValidator<+Ljava/lang/annotation/Annotation;Ljava/lang/Object;>;
           30   45    15      annotationValue  Lio/micronaut/core/annotation/AnnotationValue;
           32   45    17      messageTemplate  Ljava/lang/String;
           33   45    18            variables  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TT;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set<Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;>;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
      2:
        edu.umd.cs.findbugs.annotations.Nullable()
      3:
      4:
      5:
      6:
      7:
        edu.umd.cs.findbugs.annotations.Nullable()
      8:
    MethodParameters:
                     Name  Flags
      rootBeanClass        
      rootBean             
      object               
      context              
      overallViolations    
      constrainedProperty  
      propertyType         
      propertyValue        
      constraintType       

  private java.util.Map<java.lang.String, java.lang.Object> newConstraintVariables(io.micronaut.core.annotation.AnnotationValue, , io.micronaut.core.annotation.AnnotationMetadata);
    descriptor: (Lio/micronaut/core/annotation/AnnotationValue;Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationMetadata;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.core.annotation.AnnotationValue annotationValue
        start local 2 // java.lang.Object propertyValue
        start local 3 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
         0: .line 1524
            aload 1 /* annotationValue */
            invokevirtual io.micronaut.core.annotation.AnnotationValue.getValues:()Ljava/util/Map;
            astore 4 /* values */
        start local 4 // java.util.Map values
         1: .line 1525
            aload 4 /* values */
            invokeinterface java.util.Map.size:()I
            i2d
            ldc 0.75
            ddiv
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            istore 5 /* initSize */
        start local 5 // int initSize
         2: .line 1526
            new java.util.LinkedHashMap
            dup
            iload 5 /* initSize */
            invokespecial java.util.LinkedHashMap.<init>:(I)V
            astore 6 /* variables */
        start local 6 // java.util.Map variables
         3: .line 1527
            aload 4 /* values */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 6
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.core.annotation.AnnotationValue java.lang.Object io.micronaut.core.annotation.AnnotationMetadata java.util.Map int java.util.Map top java.util.Iterator
      StackMap stack:
         4: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* entry */
        start local 7 // java.util.Map$Entry entry
         5: .line 1528
            aload 6 /* variables */
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.util.Map$Entry entry
         6: .line 1527
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 1530
            aload 6 /* variables */
            ldc "validatedValue"
            aload 2 /* propertyValue */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 1531
            aload 3 /* annotationMetadata */
            aload 1 /* annotationValue */
            invokevirtual io.micronaut.core.annotation.AnnotationValue.getAnnotationName:()Ljava/lang/String;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.getDefaultValues:(Ljava/lang/String;)Ljava/util/Map;
            astore 7 /* defaultValues */
        start local 7 // java.util.Map defaultValues
         9: .line 1532
            aload 7 /* defaultValues */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 16
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.core.annotation.AnnotationValue java.lang.Object io.micronaut.core.annotation.AnnotationMetadata java.util.Map int java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        10: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 8 /* entry */
        start local 8 // java.util.Map$Entry entry
        11: .line 1533
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* n */
        start local 10 // java.lang.String n
        12: .line 1534
            aload 6 /* variables */
            aload 10 /* n */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 16
        13: .line 1535
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 11 /* v */
        start local 11 // java.lang.Object v
        14: .line 1536
            aload 11 /* v */
            ifnull 16
        15: .line 1537
            aload 6 /* variables */
            aload 10 /* n */
            aload 11 /* v */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // java.lang.Object v
        end local 10 // java.lang.String n
        end local 8 // java.util.Map$Entry entry
        16: .line 1532
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        17: .line 1541
            aload 6 /* variables */
            areturn
        end local 7 // java.util.Map defaultValues
        end local 6 // java.util.Map variables
        end local 5 // int initSize
        end local 4 // java.util.Map values
        end local 3 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        end local 2 // java.lang.Object propertyValue
        end local 1 // io.micronaut.core.annotation.AnnotationValue annotationValue
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                this  Lio/micronaut/validation/validator/DefaultValidator;
            0   18     1     annotationValue  Lio/micronaut/core/annotation/AnnotationValue;
            0   18     2       propertyValue  Ljava/lang/Object;
            0   18     3  annotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
            1   18     4              values  Ljava/util/Map<**>;
            2   18     5            initSize  I
            3   18     6           variables  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            5    6     7               entry  Ljava/util/Map$Entry<**>;
            9   18     7       defaultValues  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
           11   16     8               entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
           12   16    10                   n  Ljava/lang/String;
           14   16    11                   v  Ljava/lang/Object;
    Signature: (Lio/micronaut/core/annotation/AnnotationValue;Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationMetadata;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
      2:
    MethodParameters:
                    Name  Flags
      annotationValue     
      propertyValue       
      annotationMetadata  

  private java.lang.String buildMessageTemplate(io.micronaut.core.annotation.AnnotationValue<?>, io.micronaut.core.annotation.AnnotationMetadata);
    descriptor: (Lio/micronaut/core/annotation/AnnotationValue;Lio/micronaut/core/annotation/AnnotationMetadata;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.core.annotation.AnnotationValue annotationValue
        start local 2 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
         0: .line 1545
            aload 1 /* annotationValue */
            ldc "message"
            invokevirtual io.micronaut.core.annotation.AnnotationValue.stringValue:(Ljava/lang/String;)Ljava/util/Optional;
         1: .line 1546
            aload 2 /* annotationMetadata */
            aload 1 /* annotationValue */
            invokedynamic get(Lio/micronaut/core/annotation/AnnotationMetadata;Lio/micronaut/core/annotation/AnnotationValue;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  io/micronaut/validation/validator/DefaultValidator.lambda$15(Lio/micronaut/core/annotation/AnnotationMetadata;Lio/micronaut/core/annotation/AnnotationValue;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast java.lang.String
         2: .line 1545
            areturn
        end local 2 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        end local 1 // io.micronaut.core.annotation.AnnotationValue annotationValue
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lio/micronaut/validation/validator/DefaultValidator;
            0    3     1     annotationValue  Lio/micronaut/core/annotation/AnnotationValue<*>;
            0    3     2  annotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
    Signature: (Lio/micronaut/core/annotation/AnnotationValue<*>;Lio/micronaut/core/annotation/AnnotationMetadata;)Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      annotationValue     
      annotationMetadata  

  public <T> org.reactivestreams.Publisher<T> validatePublisher(org.reactivestreams.Publisher<T>, java.lang.Class<?>[]);
    descriptor: (Lorg/reactivestreams/Publisher;[Ljava/lang/Class;)Lorg/reactivestreams/Publisher;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
         0: .line 1556
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tFlowable cannot be resolved to a type\n\tType mismatch: cannot convert from Flowable to Flowable<T>\n\tFlowable cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/validation/validator/DefaultValidator;
    Signature: <T:Ljava/lang/Object;>(Lorg/reactivestreams/Publisher<TT;>;[Ljava/lang/Class<*>;)Lorg/reactivestreams/Publisher<TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
    MethodParameters:
           Name  Flags
      publisher  
      groups     

  public <T> java.util.concurrent.CompletionStage<T> validateCompletionStage(java.util.concurrent.CompletionStage<T>, java.lang.Class<?>[]);
    descriptor: (Ljava/util/concurrent/CompletionStage;[Ljava/lang/Class;)Ljava/util/concurrent/CompletionStage;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.util.concurrent.CompletionStage completionStage
        start local 2 // java.lang.Class[] groups
         0: .line 1569
            ldc "completionStage"
            aload 1 /* completionStage */
            invokestatic io.micronaut.core.util.ArgumentUtils.requireNonNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1570
            aload 1 /* completionStage */
            aload 0 /* this */
            aload 2 /* groups */
            invokedynamic apply(Lio/micronaut/validation/validator/DefaultValidator;[Ljava/lang/Class;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/micronaut/validation/validator/DefaultValidator.lambda$17([Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object; (7)
                  (Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.concurrent.CompletionStage.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
            areturn
        end local 2 // java.lang.Class[] groups
        end local 1 // java.util.concurrent.CompletionStage completionStage
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lio/micronaut/validation/validator/DefaultValidator;
            0    2     1  completionStage  Ljava/util/concurrent/CompletionStage<TT;>;
            0    2     2           groups  [Ljava/lang/Class;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/CompletionStage<TT;>;[Ljava/lang/Class<*>;)Ljava/util/concurrent/CompletionStage<TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
    MethodParameters:
                 Name  Flags
      completionStage  
      groups           

  public <T> void validateBeanArgument(io.micronaut.context.BeanResolutionContext, io.micronaut.inject.InjectionPoint, io.micronaut.core.type.Argument<T>, int, );
    descriptor: (Lio/micronaut/context/BeanResolutionContext;Lio/micronaut/inject/InjectionPoint;Lio/micronaut/core/type/Argument;ILjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=15, args_size=6
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.context.BeanResolutionContext resolutionContext
        start local 2 // io.micronaut.inject.InjectionPoint injectionPoint
        start local 3 // io.micronaut.core.type.Argument argument
        start local 4 // int index
        start local 5 // java.lang.Object value
         0: .line 1588
            aload 3 /* argument */
            invokeinterface io.micronaut.core.type.Argument.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            astore 6 /* annotationMetadata */
        start local 6 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
         1: .line 1589
            aload 6 /* annotationMetadata */
            ldc Ljavax/validation/Valid;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.hasStereotype:(Ljava/lang/Class;)Z
            istore 7 /* hasValid */
        start local 7 // boolean hasValid
         2: .line 1590
            aload 6 /* annotationMetadata */
            ldc Ljavax/validation/Constraint;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.hasStereotype:(Ljava/lang/Class;)Z
            istore 8 /* hasConstraint */
        start local 8 // boolean hasConstraint
         3: .line 1591
            aload 3 /* argument */
            invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
            astore 9 /* parameterType */
        start local 9 // java.lang.Class parameterType
         4: .line 1592
            aload 2 /* injectionPoint */
            invokeinterface io.micronaut.inject.InjectionPoint.getDeclaringBean:()Lio/micronaut/inject/BeanDefinition;
            invokeinterface io.micronaut.inject.BeanDefinition.getBeanType:()Ljava/lang/Class;
            astore 10 /* rootClass */
        start local 10 // java.lang.Class rootClass
         5: .line 1593
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
            dup
            aload 0 /* this */
            aload 5 /* value */
            iconst_0
            anewarray java.lang.Class
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;[Ljava/lang/Class;)V
            astore 11 /* context */
        start local 11 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
         6: .line 1594
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
            astore 12 /* overallViolations */
        start local 12 // java.util.Set overallViolations
         7: .line 1595
            iload 8 /* hasConstraint */
            ifeq 27
         8: .line 1596
            aload 11 /* context */
            aload 10 /* rootClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 2 /* injectionPoint */
            invokeinterface io.micronaut.inject.InjectionPoint.getDeclaringBean:()Lio/micronaut/inject/BeanDefinition;
            invokeinterface io.micronaut.inject.BeanDefinition.getConstructor:()Lio/micronaut/inject/ConstructorInjectionPoint;
            invokeinterface io.micronaut.inject.ConstructorInjectionPoint.getArguments:()[Lio/micronaut/core/type/Argument;
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addConstructorNode:(Ljava/lang/String;[Lio/micronaut/core/type/Argument;)Ljavax/validation/Path$Node;
            astore 13 /* parentNode */
        start local 13 // javax.validation.Path$Node parentNode
         9: .line 1597
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.valueExtractorRegistry:Lio/micronaut/validation/validator/extractors/ValueExtractorRegistry;
            aload 9 /* parameterType */
            invokeinterface io.micronaut.validation.validator.extractors.ValueExtractorRegistry.findValueExtractor:(Ljava/lang/Class;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.validation.valueextraction.ValueExtractor
            astore 14 /* valueExtractor */
        start local 14 // javax.validation.valueextraction.ValueExtractor valueExtractor
        10: .line 1598
            aload 14 /* valueExtractor */
            ifnull 13
        11: .line 1599
            aload 14 /* valueExtractor */
            aload 5 /* value */
            new io.micronaut.validation.validator.DefaultValidator$4
            dup
            aload 0 /* this */
            aload 11 /* context */
            aload 10 /* rootClass */
            aload 5 /* value */
            aload 13 /* parentNode */
            aload 3 /* argument */
            aload 12 /* overallViolations */
            invokespecial io.micronaut.validation.validator.DefaultValidator$4.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljavax/validation/Path$Node;Lio/micronaut/core/type/Argument;Ljava/util/Set;)V
            invokeinterface javax.validation.valueextraction.ValueExtractor.extractValues:(Ljava/lang/Object;Ljavax/validation/valueextraction/ValueExtractor$ValueReceiver;)V
        12: .line 1661
            goto 25
        13: .line 1662
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.context.BeanResolutionContext io.micronaut.inject.InjectionPoint io.micronaut.core.type.Argument int java.lang.Object io.micronaut.core.annotation.AnnotationMetadata int int java.lang.Class java.lang.Class io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set javax.validation.Path$Node javax.validation.valueextraction.ValueExtractor
      StackMap stack:
            aload 0 /* this */
        14: .line 1663
            aload 10 /* rootClass */
        15: .line 1664
            aconst_null
        16: .line 1665
            getstatic io.micronaut.core.util.ArrayUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
        17: .line 1666
            aload 11 /* context */
        18: .line 1667
            aload 12 /* overallViolations */
        19: .line 1668
            aload 3 /* argument */
            invokeinterface io.micronaut.core.type.Argument.getName:()Ljava/lang/String;
        20: .line 1669
            aload 9 /* parameterType */
        21: .line 1670
            iload 4 /* index */
        22: .line 1671
            aload 6 /* annotationMetadata */
        23: .line 1672
            aload 5 /* value */
        24: .line 1662
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateParameterInternal:(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/String;Ljava/lang/Class;ILio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;)V
        25: .line 1675
      StackMap locals:
      StackMap stack:
            aload 11 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        end local 14 // javax.validation.valueextraction.ValueExtractor valueExtractor
        end local 13 // javax.validation.Path$Node parentNode
        26: .line 1676
            goto 43
      StackMap locals:
      StackMap stack:
        27: iload 7 /* hasValid */
            ifeq 43
            aload 5 /* value */
            ifnull 43
        28: .line 1677
            aload 0 /* this */
            aload 5 /* value */
            aload 9 /* parameterType */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.getBeanIntrospection:(Ljava/lang/Object;Ljava/lang/Class;)Lio/micronaut/core/beans/BeanIntrospection;
            astore 13 /* beanIntrospection */
        start local 13 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
        29: .line 1678
            aload 13 /* beanIntrospection */
            ifnull 43
        30: .line 1680
            aload 11 /* context */
            aload 3 /* argument */
            invokeinterface io.micronaut.core.type.Argument.getName:()Ljava/lang/String;
            iload 4 /* index */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addParameterNode:(Ljava/lang/String;I)V
        31: .line 1681
            aload 0 /* this */
        32: .line 1682
            aload 11 /* context */
        33: .line 1683
            aconst_null
        34: .line 1684
            aload 5 /* value */
        35: .line 1685
            aload 13 /* beanIntrospection */
        36: .line 1686
            aload 12 /* overallViolations */
        37: .line 1681
            invokevirtual io.micronaut.validation.validator.DefaultValidator.cascadeToOneIntrospection:(Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/beans/BeanIntrospection;Ljava/util/Set;)V
        38: .line 1688
            goto 42
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.context.BeanResolutionContext io.micronaut.inject.InjectionPoint io.micronaut.core.type.Argument int java.lang.Object io.micronaut.core.annotation.AnnotationMetadata int int java.lang.Class java.lang.Class io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.beans.BeanIntrospection
      StackMap stack: java.lang.Throwable
        39: astore 14
        40: .line 1689
            aload 11 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        41: .line 1690
            aload 14
            athrow
        42: .line 1689
      StackMap locals:
      StackMap stack:
            aload 11 /* context */
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        end local 13 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
        43: .line 1694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resolutionContext */
            aload 12 /* overallViolations */
            aload 10 /* rootClass */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.failOnError:(Lio/micronaut/context/BeanResolutionContext;Ljava/util/Set;Ljava/lang/Class;)V
        44: .line 1695
            return
        end local 12 // java.util.Set overallViolations
        end local 11 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 10 // java.lang.Class rootClass
        end local 9 // java.lang.Class parameterType
        end local 8 // boolean hasConstraint
        end local 7 // boolean hasValid
        end local 6 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        end local 5 // java.lang.Object value
        end local 4 // int index
        end local 3 // io.micronaut.core.type.Argument argument
        end local 2 // io.micronaut.inject.InjectionPoint injectionPoint
        end local 1 // io.micronaut.context.BeanResolutionContext resolutionContext
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   45     0                this  Lio/micronaut/validation/validator/DefaultValidator;
            0   45     1   resolutionContext  Lio/micronaut/context/BeanResolutionContext;
            0   45     2      injectionPoint  Lio/micronaut/inject/InjectionPoint;
            0   45     3            argument  Lio/micronaut/core/type/Argument<TT;>;
            0   45     4               index  I
            0   45     5               value  TT;
            1   45     6  annotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
            2   45     7            hasValid  Z
            3   45     8       hasConstraint  Z
            4   45     9       parameterType  Ljava/lang/Class<TT;>;
            5   45    10           rootClass  Ljava/lang/Class;
            6   45    11             context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            7   45    12   overallViolations  Ljava/util/Set;
            9   26    13          parentNode  Ljavax/validation/Path$Node;
           10   26    14      valueExtractor  Ljavax/validation/valueextraction/ValueExtractor<Ljava/lang/Object;>;
           29   43    13   beanIntrospection  Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;
      Exception table:
        from    to  target  type
          30    39      39  any
    Exceptions:
      throws io.micronaut.context.exceptions.BeanInstantiationException
    Signature: <T:Ljava/lang/Object;>(Lio/micronaut/context/BeanResolutionContext;Lio/micronaut/inject/InjectionPoint;Lio/micronaut/core/type/Argument<TT;>;ITT;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
      3:
      4:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                   Name  Flags
      resolutionContext  
      injectionPoint     
      argument           
      index              
      value              

  public <T> void validateBean(io.micronaut.context.BeanResolutionContext, io.micronaut.inject.BeanDefinition<T>, );
    descriptor: (Lio/micronaut/context/BeanResolutionContext;Lio/micronaut/inject/BeanDefinition;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
         0: .line 1704
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tIntercepted cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/validation/validator/DefaultValidator;
    Exceptions:
      throws io.micronaut.context.exceptions.BeanInstantiationException
    Signature: <T:Ljava/lang/Object;>(Lio/micronaut/context/BeanResolutionContext;Lio/micronaut/inject/BeanDefinition<TT;>;TT;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
      2:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                   Name  Flags
      resolutionContext  
      definition         
      bean               

  private <T> void failOnError(io.micronaut.context.BeanResolutionContext, java.util.Set<javax.validation.ConstraintViolation<T>>, java.lang.Class<?>);
    descriptor: (Lio/micronaut/context/BeanResolutionContext;Ljava/util/Set;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // io.micronaut.context.BeanResolutionContext resolutionContext
        start local 2 // java.util.Set errors
        start local 3 // java.lang.Class beanType
         0: .line 1743
            aload 2 /* errors */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 12
         1: .line 1744
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
         2: .line 1745
            ldc "Validation failed for bean definition ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1746
            aload 3 /* beanType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 1747
            ldc "]\nList of constraint violations:[\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1744
            astore 4 /* builder */
        start local 4 // java.lang.StringBuilder builder
         6: .line 1748
            aload 2 /* errors */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.context.BeanResolutionContext java.util.Set java.lang.Class java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.validation.ConstraintViolation
            astore 5 /* violation */
        start local 5 // javax.validation.ConstraintViolation violation
         8: .line 1749
            aload 4 /* builder */
            bipush 9
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 5 /* violation */
            invokeinterface javax.validation.ConstraintViolation.getPropertyPath:()Ljavax/validation/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " - "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* violation */
            invokeinterface javax.validation.ConstraintViolation.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // javax.validation.ConstraintViolation violation
         9: .line 1748
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 1751
            aload 4 /* builder */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        11: .line 1752
            new io.micronaut.context.exceptions.BeanInstantiationException
            dup
            aload 1 /* resolutionContext */
            aload 4 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.micronaut.context.exceptions.BeanInstantiationException.<init>:(Lio/micronaut/context/BeanResolutionContext;Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.StringBuilder builder
        12: .line 1754
      StackMap locals: io.micronaut.validation.validator.DefaultValidator io.micronaut.context.BeanResolutionContext java.util.Set java.lang.Class
      StackMap stack:
            return
        end local 3 // java.lang.Class beanType
        end local 2 // java.util.Set errors
        end local 1 // io.micronaut.context.BeanResolutionContext resolutionContext
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lio/micronaut/validation/validator/DefaultValidator;
            0   13     1  resolutionContext  Lio/micronaut/context/BeanResolutionContext;
            0   13     2             errors  Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
            0   13     3           beanType  Ljava/lang/Class<*>;
            6   12     4            builder  Ljava/lang/StringBuilder;
            8    9     5          violation  Ljavax/validation/ConstraintViolation<*>;
    Signature: <T:Ljava/lang/Object;>(Lio/micronaut/context/BeanResolutionContext;Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;Ljava/lang/Class<*>;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
      2:
    MethodParameters:
                   Name  Flags
      resolutionContext  
      errors             
      beanType           

  private <T> io.micronaut.validation.validator.DefaultValidator$DefaultConstraintViolation<T> createIntrospectionConstraintViolation(java.lang.Class<T>, T, io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.lang.Class<?>, , []);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;)Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintViolation;
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=13, locals=8, args_size=7
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 1 // java.lang.Class rootClass
        start local 2 // java.lang.Object object
        start local 3 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        start local 4 // java.lang.Class parameterType
        start local 5 // java.lang.Object parameterValue
        start local 6 // java.lang.Object[] parameters
         0: .line 1765
            new java.lang.StringBuilder
            dup
            ldc "{"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lio/micronaut/core/annotation/Introspected;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".message}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* messageTemplate */
        start local 7 // java.lang.String messageTemplate
         1: .line 1766
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintViolation
            dup
            aload 0 /* this */
            aload 2 /* object */
            aload 1 /* rootClass */
            aload 2 /* object */
            aload 5 /* parameterValue */
         2: .line 1767
            aload 0 /* this */
            getfield io.micronaut.validation.validator.DefaultValidator.messageSource:Lio/micronaut/context/MessageSource;
            aload 7 /* messageTemplate */
            ldc "type"
            aload 4 /* parameterType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic io.micronaut.context.MessageSource$MessageContext.of:(Ljava/util/Map;)Lio/micronaut/context/MessageSource$MessageContext;
            invokeinterface io.micronaut.context.MessageSource.interpolate:(Ljava/lang/String;Lio/micronaut/context/MessageSource$MessageContext;)Ljava/lang/String;
         3: .line 1768
            aload 7 /* messageTemplate */
            new io.micronaut.validation.validator.DefaultValidator$PathImpl
            dup
            aload 0 /* this */
            aload 3 /* context */
            getfield io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.currentPath:Lio/micronaut/validation/validator/DefaultValidator$PathImpl;
            invokespecial io.micronaut.validation.validator.DefaultValidator$PathImpl.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Lio/micronaut/validation/validator/DefaultValidator$PathImpl;)V
            aconst_null
            aload 6 /* parameters */
         4: .line 1766
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintViolation.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljavax/validation/Path;Ljavax/validation/metadata/ConstraintDescriptor;[Ljava/lang/Object;)V
            areturn
        end local 7 // java.lang.String messageTemplate
        end local 6 // java.lang.Object[] parameters
        end local 5 // java.lang.Object parameterValue
        end local 4 // java.lang.Class parameterType
        end local 3 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext context
        end local 2 // java.lang.Object object
        end local 1 // java.lang.Class rootClass
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lio/micronaut/validation/validator/DefaultValidator;
            0    5     1        rootClass  Ljava/lang/Class<TT;>;
            0    5     2           object  TT;
            0    5     3          context  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            0    5     4    parameterType  Ljava/lang/Class<*>;
            0    5     5   parameterValue  Ljava/lang/Object;
            0    5     6       parameters  [Ljava/lang/Object;
            1    5     7  messageTemplate  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TT;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class<*>;Ljava/lang/Object;[Ljava/lang/Object;)Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintViolation<TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
      2:
      3:
      4:
      5:
    MethodParameters:
                Name  Flags
      rootClass       
      object          
      context         
      parameterType   
      parameterValue  
      parameters      

  public javax.validation.executable.ExecutableValidator forExecutables();
    descriptor: ()Ljavax/validation/executable/ExecutableValidator;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.micronaut.validation.validator.DefaultValidator.forExecutables:()Lio/micronaut/validation/validator/ExecutableMethodValidator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static javax.validation.ValidationException lambda$0(java.lang.String, java.lang.Class);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljavax/validation/ValidationException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
         0: .line 225
            new javax.validation.ValidationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No property ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] found on type: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.validation.ValidationException.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private javax.validation.metadata.BeanDescriptor lambda$3(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljavax/validation/metadata/BeanDescriptor;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
         0: .line 311
            new io.micronaut.validation.validator.DefaultValidator$EmptyDescriptor
            dup
            aload 0 /* this */
            aload 1
            invokespecial io.micronaut.validation.validator.DefaultValidator$EmptyDescriptor.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Class;)V
            areturn
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/validation/validator/DefaultValidator;

  private java.util.Set lambda$5(java.lang.Object, java.lang.Object[], java.lang.Class[], io.micronaut.inject.ExecutableMethod);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;[Ljava/lang/Class;Lio/micronaut/inject/ExecutableMethod;)Ljava/util/Set;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 4 // io.micronaut.inject.ExecutableMethod executableMethod
         0: .line 418
            aload 0 /* this */
            aload 1
            aload 4 /* executableMethod */
            aload 2
            aload 3
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateParameters:(Ljava/lang/Object;Lio/micronaut/inject/ExecutableMethod;[Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
            areturn
        end local 4 // io.micronaut.inject.ExecutableMethod executableMethod
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lio/micronaut/validation/validator/DefaultValidator;
            0    1     4  executableMethod  Lio/micronaut/inject/ExecutableMethod<Ljava/lang/Object;Ljava/lang/Object;>;

  private java.util.Set lambda$6(java.lang.Object, java.lang.Object, java.lang.Class[], io.micronaut.inject.ExecutableMethod);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Class;Lio/micronaut/inject/ExecutableMethod;)Ljava/util/Set;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 4 // io.micronaut.inject.ExecutableMethod executableMethod
         0: .line 436
            aload 0 /* this */
            aload 1
            aload 4 /* executableMethod */
            aload 2
            aload 3
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateReturnValue:(Ljava/lang/Object;Lio/micronaut/inject/ExecutableMethod;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
            areturn
        end local 4 // io.micronaut.inject.ExecutableMethod executableMethod
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lio/micronaut/validation/validator/DefaultValidator;
            0    1     4  executableMethod  Lio/micronaut/inject/ExecutableMethod<Ljava/lang/Object;Ljava/lang/Object;>;

  private void lambda$7(java.lang.Object, io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.lang.Class, java.lang.Object, java.lang.Object, io.micronaut.core.type.Argument, java.util.Set, javax.validation.valueextraction.ValueExtractor);
    descriptor: (Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/type/Argument;Ljava/util/Set;Ljavax/validation/valueextraction/ValueExtractor;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=11, locals=9, args_size=9
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 8 // javax.validation.valueextraction.ValueExtractor valueExtractor
         0: .line 493
            aload 8 /* valueExtractor */
            aload 1
            new io.micronaut.validation.validator.DefaultValidator$1
            dup
            aload 0 /* this */
            aload 2
            aload 3
            aload 4
            aload 5
            aload 6
            aload 7
            invokespecial io.micronaut.validation.validator.DefaultValidator$1.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/type/Argument;Ljava/util/Set;)V
            invokeinterface javax.validation.valueextraction.ValueExtractor.extractValues:(Ljava/lang/Object;Ljavax/validation/valueextraction/ValueExtractor$ValueReceiver;)V
         1: .line 556
            return
        end local 8 // javax.validation.valueextraction.ValueExtractor valueExtractor
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/micronaut/validation/validator/DefaultValidator;
            0    2     8  valueExtractor  Ljavax/validation/valueextraction/ValueExtractor<TT;>;

  private static io.micronaut.core.beans.BeanIntrospection lambda$8(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lio/micronaut/core/beans/BeanIntrospection;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 656
            getstatic io.micronaut.core.beans.BeanIntrospector.SHARED:Lio/micronaut/core/beans/BeanIntrospector;
            aload 0
            invokeinterface io.micronaut.core.beans.BeanIntrospector.findIntrospection:(Ljava/lang/Class;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.micronaut.core.beans.BeanIntrospection
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$9(java.lang.Class, java.lang.Object, java.lang.Object[], io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.util.Set, io.micronaut.core.type.Argument, int, io.micronaut.core.annotation.AnnotationMetadata, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/type/Argument;ILio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=11, locals=11, args_size=11
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 9 // java.lang.String nodeName
        start local 10 // java.lang.Object unwrappedValue
         0: .line 741
            aload 0 /* this */
         1: .line 742
            aload 1
         2: .line 743
            aload 2
         3: .line 744
            aload 3
         4: .line 745
            aload 4
         5: .line 746
            aload 5
         6: .line 747
            aload 6
            invokeinterface io.micronaut.core.type.Argument.getName:()Ljava/lang/String;
         7: .line 748
            aload 10 /* unwrappedValue */
            ifnonnull 8
            ldc Ljava/lang/Object;
            goto 9
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.type.Argument int io.micronaut.core.annotation.AnnotationMetadata java.lang.String java.lang.Object
      StackMap stack: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.lang.String
         8: aload 10 /* unwrappedValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
         9: .line 749
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.type.Argument int io.micronaut.core.annotation.AnnotationMetadata java.lang.String java.lang.Object
      StackMap stack: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.lang.String java.lang.Class
            iload 7
        10: .line 750
            aload 8
        11: .line 751
            aload 10 /* unwrappedValue */
        12: .line 741
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateParameterInternal:(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/String;Ljava/lang/Class;ILio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;)V
        13: .line 752
            return
        end local 10 // java.lang.Object unwrappedValue
        end local 9 // java.lang.String nodeName
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lio/micronaut/validation/validator/DefaultValidator;
            0   14     9        nodeName  Ljava/lang/String;
            0   14    10  unwrappedValue  Ljava/lang/Object;

  private java.lang.Object lambda$11(java.lang.Object, io.micronaut.validation.validator.DefaultValidator$PathImpl, boolean, io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, io.micronaut.core.type.Argument, int, java.lang.Class, java.lang.Object[], io.micronaut.core.annotation.AnnotationMetadata, java.lang.Object);
    descriptor: (Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$PathImpl;ZLio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Lio/micronaut/core/type/Argument;ILjava/lang/Class;[Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=11, locals=15, args_size=11
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 10 // java.lang.Object o
         0: .line 945
            new io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext
            dup
            aload 0 /* this */
         1: .line 946
            aload 1
         2: .line 947
            aload 2
         3: .line 945
            iconst_0
            anewarray java.lang.Class
            invokespecial io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$PathImpl;[Ljava/lang/Class;)V
         4: .line 944
            astore 11 /* newContext */
        start local 11 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext newContext
         5: .line 949
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 12 /* newViolations */
        start local 12 // java.util.Set newViolations
         6: .line 950
            iload 3
            ifeq 7
            aload 10 /* o */
            ifnull 7
            aload 10 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic io.micronaut.core.reflect.ClassUtils.isJavaBasicType:(Ljava/lang/Class;)Z
            ifeq 8
      StackMap locals: io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set
      StackMap stack:
         7: aconst_null
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            aload 10 /* o */
            invokevirtual io.micronaut.validation.validator.DefaultValidator.getBeanIntrospection:(Ljava/lang/Object;)Lio/micronaut/core/beans/BeanIntrospection;
      StackMap locals:
      StackMap stack: io.micronaut.core.beans.BeanIntrospection
         9: astore 13 /* beanIntrospection */
        start local 13 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
        10: .line 951
            aload 13 /* beanIntrospection */
            ifnull 25
        11: .line 953
            aload 4
            aload 5
            invokeinterface io.micronaut.core.type.Argument.getName:()Ljava/lang/String;
            iload 6
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.addParameterNode:(Ljava/lang/String;I)V
        12: .line 954
            aload 0 /* this */
        13: .line 955
            aload 11 /* newContext */
        14: .line 956
            aload 1
        15: .line 957
            aload 10 /* o */
        16: .line 958
            aload 13 /* beanIntrospection */
        17: .line 959
            aload 12 /* newViolations */
        18: .line 954
            invokevirtual io.micronaut.validation.validator.DefaultValidator.cascadeToOneIntrospection:(Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/beans/BeanIntrospection;Ljava/util/Set;)V
        19: .line 961
            goto 23
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Object io.micronaut.validation.validator.DefaultValidator$PathImpl int io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext io.micronaut.core.type.Argument int java.lang.Class java.lang.Object[] io.micronaut.core.annotation.AnnotationMetadata java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.beans.BeanIntrospection
      StackMap stack: java.lang.Throwable
        20: astore 14
        21: .line 962
            aload 4
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        22: .line 963
            aload 14
            athrow
        23: .line 962
      StackMap locals:
      StackMap stack:
            aload 4
            invokevirtual io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext.removeLast:()V
        24: .line 964
            goto 39
        25: .line 966
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface io.micronaut.core.type.Argument.getFirstTypeVariable:()Ljava/util/Optional;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/micronaut/core/type/Argument.getType()Ljava/lang/Class; (9 itf)
                  (Lio/micronaut/core/type/Argument;)Ljava/lang/Class;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 14 /* t */
        start local 14 // java.lang.Class t
        26: .line 967
            aload 0 /* this */
        27: .line 968
            aload 7
        28: .line 969
            aload 1
        29: .line 970
            aload 8
        30: .line 971
            aload 11 /* newContext */
        31: .line 972
            aload 12 /* newViolations */
        32: .line 973
            aload 5
            invokeinterface io.micronaut.core.type.Argument.getName:()Ljava/lang/String;
        33: .line 974
            aload 14 /* t */
            ifnull 34
            aload 14 /* t */
            goto 35
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Object io.micronaut.validation.validator.DefaultValidator$PathImpl int io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext io.micronaut.core.type.Argument int java.lang.Class java.lang.Object[] io.micronaut.core.annotation.AnnotationMetadata java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.beans.BeanIntrospection java.lang.Class
      StackMap stack: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.lang.String
        34: ldc Ljava/lang/Object;
        35: .line 975
      StackMap locals: io.micronaut.validation.validator.DefaultValidator java.lang.Object io.micronaut.validation.validator.DefaultValidator$PathImpl int io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext io.micronaut.core.type.Argument int java.lang.Class java.lang.Object[] io.micronaut.core.annotation.AnnotationMetadata java.lang.Object io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set io.micronaut.core.beans.BeanIntrospection java.lang.Class
      StackMap stack: io.micronaut.validation.validator.DefaultValidator java.lang.Class java.lang.Object java.lang.Object[] io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext java.util.Set java.lang.String java.lang.Class
            iload 6
        36: .line 976
            aload 9
        37: .line 977
            aload 10 /* o */
        38: .line 967
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validateParameterInternal:(Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Ljava/lang/String;Ljava/lang/Class;ILio/micronaut/core/annotation/AnnotationMetadata;Ljava/lang/Object;)V
        end local 14 // java.lang.Class t
        39: .line 981
      StackMap locals:
      StackMap stack:
            aload 12 /* newViolations */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 41
        40: .line 982
            new javax.validation.ConstraintViolationException
            dup
            aload 12 /* newViolations */
            invokespecial javax.validation.ConstraintViolationException.<init>:(Ljava/util/Set;)V
            athrow
        41: .line 985
      StackMap locals:
      StackMap stack:
            aload 10 /* o */
            areturn
        end local 13 // io.micronaut.core.beans.BeanIntrospection beanIntrospection
        end local 12 // java.util.Set newViolations
        end local 11 // io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext newContext
        end local 10 // java.lang.Object o
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   42     0               this  Lio/micronaut/validation/validator/DefaultValidator;
            0   42    10                  o  Ljava/lang/Object;
            5   42    11         newContext  Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;
            6   42    12      newViolations  Ljava/util/Set;
           10   42    13  beanIntrospection  Lio/micronaut/core/beans/BeanIntrospection<Ljava/lang/Object;>;
           26   39    14                  t  Ljava/lang/Class;
      Exception table:
        from    to  target  type
          11    20      20  any

  private void lambda$13(java.lang.Object, io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.lang.Class, java.lang.Object, java.lang.Object, io.micronaut.core.beans.BeanProperty, java.util.Set, javax.validation.valueextraction.ValueExtractor);
    descriptor: (Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/beans/BeanProperty;Ljava/util/Set;Ljavax/validation/valueextraction/ValueExtractor;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=11, locals=9, args_size=9
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 8 // javax.validation.valueextraction.ValueExtractor valueExtractor
         0: .line 1131
            aload 8 /* valueExtractor */
            aload 1
            new io.micronaut.validation.validator.DefaultValidator$3
            dup
            aload 0 /* this */
            aload 2
            aload 3
            aload 4
            aload 5
            aload 6
            aload 7
            invokespecial io.micronaut.validation.validator.DefaultValidator$3.<init>:(Lio/micronaut/validation/validator/DefaultValidator;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/core/beans/BeanProperty;Ljava/util/Set;)V
            invokeinterface javax.validation.valueextraction.ValueExtractor.extractValues:(Ljava/lang/Object;Ljavax/validation/valueextraction/ValueExtractor$ValueReceiver;)V
         1: .line 1191
            return
        end local 8 // javax.validation.valueextraction.ValueExtractor valueExtractor
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/micronaut/validation/validator/DefaultValidator;
            0    2     8  valueExtractor  Ljavax/validation/valueextraction/ValueExtractor<TT;>;

  private void lambda$14(java.lang.Class, java.lang.Object, java.lang.Object, io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext, java.util.Set, io.micronaut.core.annotation.AnnotatedElement, java.lang.Class, java.lang.Class, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=11, args_size=11
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 9 // java.lang.String nodeName
        start local 10 // java.lang.Object extractedValue
         0: .line 1435
            aload 0 /* this */
         1: .line 1436
            aload 1
         2: .line 1437
            aload 2
         3: .line 1438
            aload 3
         4: .line 1439
            aload 4
         5: .line 1440
            aload 5
         6: .line 1441
            aload 6
         7: .line 1442
            aload 7
         8: .line 1443
            aload 10 /* extractedValue */
         9: .line 1444
            aload 8
        10: .line 1435
            invokevirtual io.micronaut.validation.validator.DefaultValidator.valueConstraintOnProperty:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Lio/micronaut/validation/validator/DefaultValidator$DefaultConstraintValidatorContext;Ljava/util/Set;Lio/micronaut/core/annotation/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Class;)V
        11: .line 1445
            return
        end local 10 // java.lang.Object extractedValue
        end local 9 // java.lang.String nodeName
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lio/micronaut/validation/validator/DefaultValidator;
            0   12     9        nodeName  Ljava/lang/String;
            0   12    10  extractedValue  Ljava/lang/Object;

  private static java.lang.String lambda$15(io.micronaut.core.annotation.AnnotationMetadata, io.micronaut.core.annotation.AnnotationValue);
    descriptor: (Lio/micronaut/core/annotation/AnnotationMetadata;Lio/micronaut/core/annotation/AnnotationValue;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
         0: .line 1547
            aload 0
            aload 1
            invokevirtual io.micronaut.core.annotation.AnnotationValue.getAnnotationName:()Ljava/lang/String;
            ldc "message"
            ldc Ljava/lang/String;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.getDefaultValue:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/Optional;
         1: .line 1548
            new java.lang.StringBuilder
            dup
            ldc "{"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1
            invokevirtual io.micronaut.core.annotation.AnnotationValue.getAnnotationName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".message}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.lang.Object lambda$17(java.lang.Class[], java.lang.Object);
    descriptor: ([Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.micronaut.validation.validator.DefaultValidator this
        start local 2 // java.lang.Object t
         0: .line 1571
            aload 0 /* this */
            aload 2 /* t */
            aload 1
            invokevirtual io.micronaut.validation.validator.DefaultValidator.validate:(Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
            astore 3 /* constraintViolations */
        start local 3 // java.util.Set constraintViolations
         1: .line 1572
            aload 3 /* constraintViolations */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 3
         2: .line 1573
            new javax.validation.ConstraintViolationException
            dup
            aload 3 /* constraintViolations */
            invokespecial javax.validation.ConstraintViolationException.<init>:(Ljava/util/Set;)V
            athrow
         3: .line 1575
      StackMap locals: java.util.Set
      StackMap stack:
            aload 2 /* t */
            areturn
        end local 3 // java.util.Set constraintViolations
        end local 2 // java.lang.Object t
        end local 0 // io.micronaut.validation.validator.DefaultValidator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lio/micronaut/validation/validator/DefaultValidator;
            0    4     2                     t  TT;
            1    4     3  constraintViolations  Ljava/util/Set<Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;>;
}
SourceFile: "DefaultValidator.java"
NestMembers:
  io.micronaut.validation.validator.DefaultValidator$1  io.micronaut.validation.validator.DefaultValidator$2  io.micronaut.validation.validator.DefaultValidator$3  io.micronaut.validation.validator.DefaultValidator$4  io.micronaut.validation.validator.DefaultValidator$5  io.micronaut.validation.validator.DefaultValidator$6  io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext  io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext$1  io.micronaut.validation.validator.DefaultValidator$DefaultConstraintViolation  io.micronaut.validation.validator.DefaultValidator$DefaultConstructorNode  io.micronaut.validation.validator.DefaultValidator$DefaultMethodNode  io.micronaut.validation.validator.DefaultValidator$DefaultParameterNode  io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode  io.micronaut.validation.validator.DefaultValidator$DefaultReturnValueNode  io.micronaut.validation.validator.DefaultValidator$EmptyDescriptor  io.micronaut.validation.validator.DefaultValidator$PathImpl
InnerClasses:
  public abstract MessageContext = io.micronaut.context.MessageSource$MessageContext of io.micronaut.context.MessageSource
  io.micronaut.validation.validator.DefaultValidator$1
  io.micronaut.validation.validator.DefaultValidator$2
  io.micronaut.validation.validator.DefaultValidator$3
  io.micronaut.validation.validator.DefaultValidator$4
  private final DefaultConstraintValidatorContext = io.micronaut.validation.validator.DefaultValidator$DefaultConstraintValidatorContext of io.micronaut.validation.validator.DefaultValidator
  private final DefaultConstraintViolation = io.micronaut.validation.validator.DefaultValidator$DefaultConstraintViolation of io.micronaut.validation.validator.DefaultValidator
  private final DefaultConstructorNode = io.micronaut.validation.validator.DefaultValidator$DefaultConstructorNode of io.micronaut.validation.validator.DefaultValidator
  private DefaultMethodNode = io.micronaut.validation.validator.DefaultValidator$DefaultMethodNode of io.micronaut.validation.validator.DefaultValidator
  private final DefaultParameterNode = io.micronaut.validation.validator.DefaultValidator$DefaultParameterNode of io.micronaut.validation.validator.DefaultValidator
  private DefaultPropertyNode = io.micronaut.validation.validator.DefaultValidator$DefaultPropertyNode of io.micronaut.validation.validator.DefaultValidator
  private DefaultReturnValueNode = io.micronaut.validation.validator.DefaultValidator$DefaultReturnValueNode of io.micronaut.validation.validator.DefaultValidator
  private final EmptyDescriptor = io.micronaut.validation.validator.DefaultValidator$EmptyDescriptor of io.micronaut.validation.validator.DefaultValidator
  private final PathImpl = io.micronaut.validation.validator.DefaultValidator$PathImpl of io.micronaut.validation.validator.DefaultValidator
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract Node = javax.validation.Path$Node of javax.validation.Path
  public abstract ValueReceiver = javax.validation.valueextraction.ValueExtractor$ValueReceiver of javax.validation.valueextraction.ValueExtractor
    RuntimeVisibleAnnotations: 
      javax.inject.Singleton()
      io.micronaut.context.annotation.Primary()
      io.micronaut.context.annotation.Requires(property = "micronaut.validator.enabled", value = "true", defaultValue = "true")