public class io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl extends io.vertx.ext.web.api.contract.impl.HTTPOperationRequestValidationHandlerImpl<io.swagger.v3.oas.models.Operation> implements io.vertx.ext.web.api.contract.openapi3.OpenAPI3RequestValidationHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl
  super_class: io.vertx.ext.web.api.contract.impl.HTTPOperationRequestValidationHandlerImpl
{
  private static final io.vertx.ext.web.api.validation.ParameterTypeValidator CONTENT_TYPE_VALIDATOR;
    descriptor: Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  java.util.List<io.swagger.v3.oas.models.parameters.Parameter> resolvedParameters;
    descriptor: Ljava/util/List;
    flags: (0x0000) 
    Signature: Ljava/util/List<Lio/swagger/v3/oas/models/parameters/Parameter;>;

  io.swagger.v3.oas.models.OpenAPI spec;
    descriptor: Lio/swagger/v3/oas/models/OpenAPI;
    flags: (0x0000) 

  io.swagger.v3.parser.ResolverCache refsCache;
    descriptor: Lio/swagger/v3/parser/ResolverCache;
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 62
            new io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$1
            dup
            invokespecial io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$1.<init>:()V
            putstatic io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.CONTENT_TYPE_VALIDATOR:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
         1: .line 74
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.swagger.v3.oas.models.Operation, java.util.List<io.swagger.v3.oas.models.parameters.Parameter>, io.swagger.v3.oas.models.OpenAPI, io.swagger.v3.parser.ResolverCache);
    descriptor: (Lio/swagger/v3/oas/models/Operation;Ljava/util/List;Lio/swagger/v3/oas/models/OpenAPI;Lio/swagger/v3/parser/ResolverCache;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.Operation pathSpec
        start local 2 // java.util.List resolvedParameters
        start local 3 // io.swagger.v3.oas.models.OpenAPI spec
        start local 4 // io.swagger.v3.parser.ResolverCache refsCache
         0: .line 83
            aload 0 /* this */
            aload 1 /* pathSpec */
            invokespecial io.vertx.ext.web.api.contract.impl.HTTPOperationRequestValidationHandlerImpl.<init>:(Ljava/lang/Object;)V
         1: .line 84
            aload 0 /* this */
            aload 2 /* resolvedParameters */
            putfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolvedParameters:Ljava/util/List;
         2: .line 85
            aload 0 /* this */
            aload 3 /* spec */
            putfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.spec:Lio/swagger/v3/oas/models/OpenAPI;
         3: .line 86
            aload 0 /* this */
            aload 4 /* refsCache */
            putfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.refsCache:Lio/swagger/v3/parser/ResolverCache;
         4: .line 87
            aload 0 /* this */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.parseOperationSpec:()V
         5: .line 88
            return
        end local 4 // io.swagger.v3.parser.ResolverCache refsCache
        end local 3 // io.swagger.v3.oas.models.OpenAPI spec
        end local 2 // java.util.List resolvedParameters
        end local 1 // io.swagger.v3.oas.models.Operation pathSpec
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0    6     1            pathSpec  Lio/swagger/v3/oas/models/Operation;
            0    6     2  resolvedParameters  Ljava/util/List<Lio/swagger/v3/oas/models/parameters/Parameter;>;
            0    6     3                spec  Lio/swagger/v3/oas/models/OpenAPI;
            0    6     4           refsCache  Lio/swagger/v3/parser/ResolverCache;
    Signature: (Lio/swagger/v3/oas/models/Operation;Ljava/util/List<Lio/swagger/v3/oas/models/parameters/Parameter;>;Lio/swagger/v3/oas/models/OpenAPI;Lio/swagger/v3/parser/ResolverCache;)V
    MethodParameters:
                    Name  Flags
      pathSpec            
      resolvedParameters  
      spec                
      refsCache           

  public void parseOperationSpec();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
         0: .line 93
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolvedParameters:Ljava/util/List;
            ifnull 7
         1: .line 94
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolvedParameters:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.parameters.Parameter
            astore 1 /* opParameter */
        start local 1 // io.swagger.v3.oas.models.parameters.Parameter opParameter
         3: .line 95
            aload 1 /* opParameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.get$ref:()Ljava/lang/String;
            ifnull 5
         4: .line 96
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.refsCache:Lio/swagger/v3/parser/ResolverCache;
            aload 1 /* opParameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.get$ref:()Ljava/lang/String;
            aload 1 /* opParameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.get$ref:()Ljava/lang/String;
            invokestatic io.swagger.v3.parser.util.RefUtils.computeRefFormat:(Ljava/lang/String;)Lio/swagger/v3/parser/models/RefFormat;
            ldc Lio/swagger/v3/oas/models/parameters/Parameter;
            invokevirtual io.swagger.v3.parser.ResolverCache.loadRef:(Ljava/lang/String;Lio/swagger/v3/parser/models/RefFormat;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.parameters.Parameter
            astore 1 /* opParameter */
         5: .line 97
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 1 /* opParameter */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.parseParameter:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
        end local 1 // io.swagger.v3.oas.models.parameters.Parameter opParameter
         6: .line 94
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 100
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.pathSpec:Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.Operation
            invokevirtual io.swagger.v3.oas.models.Operation.getRequestBody:()Lio/swagger/v3/oas/models/parameters/RequestBody;
            astore 1 /* body */
        start local 1 // io.swagger.v3.oas.models.parameters.RequestBody body
         8: .line 101
            aload 1 /* body */
            ifnull 12
         9: .line 102
            aload 1 /* body */
            invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.get$ref:()Ljava/lang/String;
            ifnull 11
        10: .line 103
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.refsCache:Lio/swagger/v3/parser/ResolverCache;
            aload 1 /* body */
            invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.get$ref:()Ljava/lang/String;
            aload 1 /* body */
            invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.get$ref:()Ljava/lang/String;
            invokestatic io.swagger.v3.parser.util.RefUtils.computeRefFormat:(Ljava/lang/String;)Lio/swagger/v3/parser/models/RefFormat;
            ldc Lio/swagger/v3/oas/models/parameters/RequestBody;
            invokevirtual io.swagger.v3.parser.ResolverCache.loadRef:(Ljava/lang/String;Lio/swagger/v3/parser/models/RefFormat;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.parameters.RequestBody
            astore 1 /* body */
        11: .line 104
      StackMap locals: io.swagger.v3.oas.models.parameters.RequestBody
      StackMap stack:
            aload 0 /* this */
            aload 1 /* body */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.parseRequestBody:(Lio/swagger/v3/oas/models/parameters/RequestBody;)V
        12: .line 106
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.swagger.v3.oas.models.parameters.RequestBody body
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            3    6     1  opParameter  Lio/swagger/v3/oas/models/parameters/Parameter;
            8   13     1         body  Lio/swagger/v3/oas/models/parameters/RequestBody;

  private io.vertx.ext.web.api.validation.ParameterTypeValidator resolveInnerSchemaPrimitiveTypeValidator(io.swagger.v3.oas.models.media.Schema, boolean);
    descriptor: (Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.media.Schema schema
        start local 2 // boolean parseEnum
         0: .line 113
            aload 1 /* schema */
            ifnonnull 2
         1: .line 115
            getstatic io.vertx.ext.web.api.validation.ParameterType.GENERIC_STRING:Lio/vertx/ext/web/api/validation/ParameterType;
            invokevirtual io.vertx.ext.web.api.validation.ParameterType.validationMethod:()Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
         2: .line 117
      StackMap locals:
      StackMap stack:
            iload 2 /* parseEnum */
            ifeq 6
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getEnum:()Ljava/util/List;
            ifnull 6
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getEnum:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifeq 6
         3: .line 119
            new java.util.ArrayList
            dup
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getEnum:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
         4: .line 120
            aload 0 /* this */
            aload 1 /* schema */
            iconst_0
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
         5: .line 118
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createEnumTypeValidatorWithInnerValidator:(Ljava/util/List;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
         6: .line 123
      StackMap locals:
      StackMap stack:
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 4
          -1034364087: 7
           -891985903: 8
             64711720: 9
           1958052158: 10
              default: 95
          }
      StackMap locals: java.lang.String
      StackMap stack:
         7: aload 3
            ldc "number"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 36
            goto 95
      StackMap locals:
      StackMap stack:
         8: aload 3
            ldc "string"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 62
            goto 95
      StackMap locals:
      StackMap stack:
         9: aload 3
            ldc "boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 61
            goto 95
      StackMap locals:
      StackMap stack:
        10: aload 3
            ldc "integer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 95
        11: .line 125
      StackMap locals:
      StackMap stack:
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
            ifnull 24
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
            ldc "int64"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        12: .line 126
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMaximum:()Ljava/lang/Boolean;
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
            ifnull 14
        13: .line 127
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Boolean
        14: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double
        15: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMinimum:()Ljava/lang/Boolean;
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
            ifnull 17
        16: .line 128
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 18
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean
        17: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
        18: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
            ifnull 20
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
        19: .line 129
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 21
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
        20: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
        21: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
            ifnull 22
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 23
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
        22: aconst_null
        23: .line 126
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double java.lang.String
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createLongTypeValidator:(Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        24: .line 131
      StackMap locals:
      StackMap stack:
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMaximum:()Ljava/lang/Boolean;
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
            ifnull 26
        25: .line 132
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Boolean
        26: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double
        27: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMinimum:()Ljava/lang/Boolean;
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
            ifnull 29
        28: .line 133
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 30
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean
        29: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
        30: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
            ifnull 32
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
        31: .line 134
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 33
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
        32: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
        33: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
            ifnull 34
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 35
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
        34: aconst_null
        35: .line 131
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double java.lang.String
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createIntegerTypeValidator:(Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        36: .line 137
      StackMap locals:
      StackMap stack:
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
            ifnull 49
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
            ldc "float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 49
        37: .line 138
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMaximum:()Ljava/lang/Boolean;
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
            ifnull 39
        38: .line 139
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 40
      StackMap locals:
      StackMap stack: java.lang.Boolean
        39: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double
        40: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMinimum:()Ljava/lang/Boolean;
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
            ifnull 42
        41: .line 140
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 43
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean
        42: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
        43: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
            ifnull 45
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
        44: .line 141
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 46
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
        45: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
        46: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
            ifnull 47
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 48
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
        47: aconst_null
        48: .line 138
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double java.lang.String
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createFloatTypeValidator:(Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        49: .line 143
      StackMap locals:
      StackMap stack:
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMaximum:()Ljava/lang/Boolean;
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
            ifnull 51
        50: .line 144
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 52
      StackMap locals:
      StackMap stack: java.lang.Boolean
        51: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double
        52: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMinimum:()Ljava/lang/Boolean;
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
            ifnull 54
        53: .line 145
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 55
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean
        54: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
        55: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
            ifnull 57
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
        56: .line 146
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            goto 58
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
        57: aconst_null
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
        58: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
            ifnull 59
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 60
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
        59: aconst_null
        60: .line 143
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
      StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double java.lang.String
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createDoubleTypeValidator:(Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        61: .line 148
      StackMap locals:
      StackMap stack:
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createBooleanTypeValidator:(Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        62: .line 150
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* regex */
        start local 4 // java.lang.String regex
        63: .line 152
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
            ifnull 90
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
            dup
            astore 5
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 9
          -1388966911: 64
           -299803597: 65
           -295034484: 66
              3039496: 67
              3076014: 68
              3239397: 69
              3239399: 70
              3601339: 71
             96619420: 72
              default: 89
          }
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
        64: aload 5
            ldc "binary"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 90
            goto 89
      StackMap locals:
      StackMap stack:
        65: aload 5
            ldc "hostname"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 83
            goto 89
      StackMap locals:
      StackMap stack:
        66: aload 5
            ldc "date-time"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 77
            goto 89
      StackMap locals:
      StackMap stack:
        67: aload 5
            ldc "byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 73
            goto 89
      StackMap locals:
      StackMap stack:
        68: aload 5
            ldc "date"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 75
            goto 89
      StackMap locals:
      StackMap stack:
        69: aload 5
            ldc "ipv4"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 79
            goto 89
      StackMap locals:
      StackMap stack:
        70: aload 5
            ldc "ipv6"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 81
            goto 89
      StackMap locals:
      StackMap stack:
        71: aload 5
            ldc "uuid"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 87
            goto 89
      StackMap locals:
      StackMap stack:
        72: aload 5
            ldc "email"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 85
            goto 89
        73: .line 156
      StackMap locals:
      StackMap stack:
            ldc "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$"
            astore 4 /* regex */
        74: .line 157
            goto 90
        75: .line 159
      StackMap locals:
      StackMap stack:
            ldc "^\\d{4}-(?:0[0-9]|1[0-2])-[0-9]{2}$"
            astore 4 /* regex */
        76: .line 160
            goto 90
        77: .line 162
      StackMap locals:
      StackMap stack:
            ldc "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])T([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d|60)(\\.\\d+)?(Z|(\\+|-)([01]\\d|2[0-3]):([0-5]\\d))$"
            astore 4 /* regex */
        78: .line 163
            goto 90
        79: .line 165
      StackMap locals:
      StackMap stack:
            ldc "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
            astore 4 /* regex */
        80: .line 166
            goto 90
        81: .line 168
      StackMap locals:
      StackMap stack:
            ldc "^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$"
            astore 4 /* regex */
        82: .line 169
            goto 90
        83: .line 171
      StackMap locals:
      StackMap stack:
            ldc "^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\\-]*[A-Za-z0-9])$"
            astore 4 /* regex */
        84: .line 172
            goto 90
        85: .line 174
      StackMap locals:
      StackMap stack:
            ldc "^(?:[\\w!#\\$%&'\\*\\+\\-/=\\?\\^`\\{\\|\\}~]+\\.)*[\\w!#\\$%&'\\*\\+\\-/=\\?\\^`\\{\\|\\}~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!\\.)){0,61}[a-zA-Z0-9]?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\\[(?:(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.){3}(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\]))$"
            astore 4 /* regex */
        86: .line 175
            goto 90
        87: .line 177
      StackMap locals:
      StackMap stack:
            ldc "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$"
            astore 4 /* regex */
        88: .line 178
            goto 90
        89: .line 180
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
            dup
            new java.lang.StringBuilder
            dup
            ldc "format "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not supported"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
            athrow
        90: .line 182
      StackMap locals:
      StackMap stack:
            aload 4 /* regex */
            ifnull 91
            aload 4 /* regex */
            goto 92
      StackMap locals:
      StackMap stack:
        91: aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getPattern:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        92: aload 1 /* schema */
        93: .line 183
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinLength:()Ljava/lang/Integer;
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaxLength:()Ljava/lang/Integer;
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
        94: .line 182
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createStringTypeValidator:(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 4 // java.lang.String regex
        95: .line 186
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.api.validation.ParameterType.GENERIC_STRING:Lio/vertx/ext/web/api/validation/ParameterType;
            invokevirtual io.vertx.ext.web.api.validation.ParameterType.validationMethod:()Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 2 // boolean parseEnum
        end local 1 // io.swagger.v3.oas.models.media.Schema schema
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   96     0       this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   96     1     schema  Lio/swagger/v3/oas/models/media/Schema;
            0   96     2  parseEnum  Z
           63   95     4      regex  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      schema     
      parseEnum  

  private void resolveObjectTypeFields(io.vertx.ext.web.api.validation.impl.ObjectTypeValidator, io.swagger.v3.oas.models.media.Schema);
    descriptor: (Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;Lio/swagger/v3/oas/models/media/Schema;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.vertx.ext.web.api.validation.impl.ObjectTypeValidator validator
        start local 2 // io.swagger.v3.oas.models.media.Schema schema
         0: .line 191
            aload 2 /* schema */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.solveObjectParameters:(Lio/swagger/v3/oas/models/media/Schema;)Ljava/util/Map;
            astore 3 /* parameters */
        start local 3 // java.util.Map parameters
         1: .line 192
            aload 3 /* parameters */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.vertx.ext.web.api.validation.impl.ObjectTypeValidator io.swagger.v3.oas.models.media.Schema java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         3: .line 193
            aload 1 /* validator */
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* this */
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.isRequired:()Z
            invokevirtual io.vertx.ext.web.api.validation.impl.ObjectTypeValidator.addField:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Z)V
        end local 4 // java.util.Map$Entry entry
         4: .line 192
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 195
            return
        end local 3 // java.util.Map parameters
        end local 2 // io.swagger.v3.oas.models.media.Schema schema
        end local 1 // io.vertx.ext.web.api.validation.impl.ObjectTypeValidator validator
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0    6     1   validator  Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
            0    6     2      schema  Lio/swagger/v3/oas/models/media/Schema;
            1    6     3  parameters  Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
            3    4     4       entry  Ljava/util/Map$Entry<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
    MethodParameters:
           Name  Flags
      validator  
      schema     

  private java.util.List<io.vertx.ext.web.api.validation.ParameterTypeValidator> resolveTypeValidatorsForAnyOfOneOf(java.util.List<io.swagger.v3.oas.models.media.Schema>, io.swagger.v3.oas.models.parameters.Parameter);
    descriptor: (Ljava/util/List;Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // java.util.List schemas
        start local 2 // io.swagger.v3.oas.models.parameters.Parameter parent
         0: .line 199
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.List result
         1: .line 200
            aload 1 /* schemas */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.util.List io.swagger.v3.oas.models.parameters.Parameter java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.Schema
            astore 4 /* schema */
        start local 4 // io.swagger.v3.oas.models.media.Schema schema
         3: .line 201
            aload 3 /* result */
            aload 0 /* this */
            aload 4 /* schema */
            aload 2 /* parent */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveAnyOfOneOfTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // io.swagger.v3.oas.models.media.Schema schema
         4: .line 200
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 203
            aload 3 /* result */
            areturn
        end local 3 // java.util.List result
        end local 2 // io.swagger.v3.oas.models.parameters.Parameter parent
        end local 1 // java.util.List schemas
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0    6     1  schemas  Ljava/util/List<Lio/swagger/v3/oas/models/media/Schema;>;
            0    6     2   parent  Lio/swagger/v3/oas/models/parameters/Parameter;
            1    6     3   result  Ljava/util/List<Lio/vertx/ext/web/api/validation/ParameterTypeValidator;>;
            3    4     4   schema  Lio/swagger/v3/oas/models/media/Schema;
    Signature: (Ljava/util/List<Lio/swagger/v3/oas/models/media/Schema;>;Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/util/List<Lio/vertx/ext/web/api/validation/ParameterTypeValidator;>;
    MethodParameters:
         Name  Flags
      schemas  
      parent   

  private io.vertx.ext.web.api.validation.ParameterTypeValidator resolveAnyOfOneOfTypeValidator(io.swagger.v3.oas.models.media.Schema, io.swagger.v3.oas.models.parameters.Parameter);
    descriptor: (Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.media.Schema schema
        start local 2 // io.swagger.v3.oas.models.parameters.Parameter parent
         0: .line 208
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
            ldc "array"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         1: .line 209
            aload 0 /* this */
         2: .line 210
            aload 1 /* schema */
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            aload 2 /* parent */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveStyle:(Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/lang/String;
            aload 2 /* parent */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getExplode:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
         3: .line 211
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaxItems:()Ljava/lang/Integer;
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinItems:()Ljava/lang/Integer;
         4: .line 209
            invokestatic io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory.createArrayTypeValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;ZLjava/lang/Integer;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/impl/ArrayTypeValidator;
            areturn
         5: .line 212
      StackMap locals:
      StackMap stack:
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
            ldc "object"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         6: .line 214
            aload 2 /* parent */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveStyle:(Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/lang/String;
            aload 2 /* parent */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getExplode:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokestatic io.vertx.ext.web.api.validation.impl.ObjectTypeValidator$ObjectTypeValidatorFactory.createObjectTypeValidator:(Ljava/lang/String;Z)Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
         7: .line 213
            astore 3 /* objectTypeValidator */
        start local 3 // io.vertx.ext.web.api.validation.impl.ObjectTypeValidator objectTypeValidator
         8: .line 215
            aload 0 /* this */
            aload 3 /* objectTypeValidator */
            aload 1 /* schema */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveObjectTypeFields:(Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;Lio/swagger/v3/oas/models/media/Schema;)V
         9: .line 216
            aload 3 /* objectTypeValidator */
            areturn
        end local 3 // io.vertx.ext.web.api.validation.impl.ObjectTypeValidator objectTypeValidator
        10: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* schema */
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 2 // io.swagger.v3.oas.models.parameters.Parameter parent
        end local 1 // io.swagger.v3.oas.models.media.Schema schema
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   11     1               schema  Lio/swagger/v3/oas/models/media/Schema;
            0   11     2               parent  Lio/swagger/v3/oas/models/parameters/Parameter;
            8   10     3  objectTypeValidator  Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
    MethodParameters:
        Name  Flags
      schema  
      parent  

  private io.vertx.ext.web.api.validation.ParameterTypeValidator resolveAnyOfOneOfTypeValidator(io.swagger.v3.oas.models.parameters.Parameter);
    descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
         0: .line 225
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            instanceof io.swagger.v3.oas.models.media.ComposedSchema
            ifeq 2
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            checkcast io.swagger.v3.oas.models.media.ComposedSchema
            astore 2 /* composedSchema */
        start local 2 // io.swagger.v3.oas.models.media.ComposedSchema composedSchema
         1: goto 3
        end local 2 // io.swagger.v3.oas.models.media.ComposedSchema composedSchema
         2: .line 226
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 2 // io.swagger.v3.oas.models.media.ComposedSchema composedSchema
         3: .line 228
      StackMap locals: io.swagger.v3.oas.models.media.ComposedSchema
      StackMap stack:
            aload 2 /* composedSchema */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isAnyOfSchema:(Lio/swagger/v3/oas/models/media/Schema;)Z
            ifeq 7
         4: .line 229
            new io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator
            dup
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 2 /* composedSchema */
            invokevirtual io.swagger.v3.oas.models.media.ComposedSchema.getAnyOf:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
         5: .line 230
            aload 1 /* parameter */
         6: .line 229
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveTypeValidatorsForAnyOfOneOf:(Ljava/util/List;Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/util/List;
            invokespecial io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator.<init>:(Ljava/util/List;)V
            areturn
         7: .line 231
      StackMap locals:
      StackMap stack:
            aload 2 /* composedSchema */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isOneOfSchema:(Lio/swagger/v3/oas/models/media/Schema;)Z
            ifeq 11
         8: .line 232
            new io.vertx.ext.web.api.validation.impl.OneOfTypeValidator
            dup
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 2 /* composedSchema */
            invokevirtual io.swagger.v3.oas.models.media.ComposedSchema.getOneOf:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
         9: .line 233
            aload 1 /* parameter */
        10: .line 232
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveTypeValidatorsForAnyOfOneOf:(Ljava/util/List;Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/util/List;
            invokespecial io.vertx.ext.web.api.validation.impl.OneOfTypeValidator.<init>:(Ljava/util/List;)V
            areturn
        11: .line 234
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // io.swagger.v3.oas.models.media.ComposedSchema composedSchema
        end local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   12     1       parameter  Lio/swagger/v3/oas/models/parameters/Parameter;
            1    2     2  composedSchema  Lio/swagger/v3/oas/models/media/ComposedSchema;
            3   12     2  composedSchema  Lio/swagger/v3/oas/models/media/ComposedSchema;
    MethodParameters:
           Name  Flags
      parameter  

  private io.vertx.ext.web.api.validation.ParameterTypeValidator resolveTypeValidator(io.swagger.v3.oas.models.parameters.Parameter);
    descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
         0: .line 239
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveAnyOfOneOfTypeValidator:(Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            astore 2 /* candidate */
        start local 2 // io.vertx.ext.web.api.validation.ParameterTypeValidator candidate
         1: .line 240
            aload 2 /* candidate */
            ifnull 2
            aload 2 /* candidate */
            areturn
         2: .line 241
      StackMap locals: io.vertx.ext.web.api.validation.ParameterTypeValidator
      StackMap stack:
            aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isParameterArrayType:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            ifeq 9
         3: .line 242
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            checkcast io.swagger.v3.oas.models.media.ArraySchema
            astore 3 /* arraySchema */
        start local 3 // io.swagger.v3.oas.models.media.ArraySchema arraySchema
         4: .line 243
            aload 0 /* this */
         5: .line 244
            aload 3 /* arraySchema */
            invokevirtual io.swagger.v3.oas.models.media.ArraySchema.getItems:()Lio/swagger/v3/oas/models/media/Schema;
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
         6: .line 245
            aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveStyle:(Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/lang/String;
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getExplode:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaxItems:()Ljava/lang/Integer;
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
         7: .line 246
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinItems:()Ljava/lang/Integer;
         8: .line 243
            invokestatic io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory.createArrayTypeValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;ZLjava/lang/Integer;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/impl/ArrayTypeValidator;
            areturn
        end local 3 // io.swagger.v3.oas.models.media.ArraySchema arraySchema
         9: .line 247
      StackMap locals:
      StackMap stack:
            aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isParameterObjectOrAllOfType:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            ifeq 14
        10: .line 249
            aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveStyle:(Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/lang/String;
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getExplode:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokestatic io.vertx.ext.web.api.validation.impl.ObjectTypeValidator$ObjectTypeValidatorFactory.createObjectTypeValidator:(Ljava/lang/String;Z)Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
        11: .line 248
            astore 3 /* objectTypeValidator */
        start local 3 // io.vertx.ext.web.api.validation.impl.ObjectTypeValidator objectTypeValidator
        12: .line 250
            aload 0 /* this */
            aload 3 /* objectTypeValidator */
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveObjectTypeFields:(Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;Lio/swagger/v3/oas/models/media/Schema;)V
        13: .line 251
            aload 3 /* objectTypeValidator */
            areturn
        end local 3 // io.vertx.ext.web.api.validation.impl.ObjectTypeValidator objectTypeValidator
        14: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 2 // io.vertx.ext.web.api.validation.ParameterTypeValidator candidate
        end local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   15     1            parameter  Lio/swagger/v3/oas/models/parameters/Parameter;
            1   15     2            candidate  Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            4    9     3          arraySchema  Lio/swagger/v3/oas/models/media/ArraySchema;
           12   14     3  objectTypeValidator  Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
    MethodParameters:
           Name  Flags
      parameter  

  private void handleContent(io.swagger.v3.oas.models.parameters.Parameter);
    descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
         0: .line 262
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getContent:()Lio/swagger/v3/oas/models/media/Content;
            astore 2 /* contents */
        start local 2 // io.swagger.v3.oas.models.media.Content contents
         1: .line 263
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveLocation:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ParameterLocation;
            astore 3 /* location */
        start local 3 // io.vertx.ext.web.api.validation.ParameterLocation location
         2: .line 264
            aload 2 /* contents */
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/ext/web/impl/Utils.isJsonContentType(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.extractTypesFromMediaTypesMap:(Ljava/util/Map;Ljava/util/function/Predicate;)Ljava/util/List;
            astore 4 /* jsonsContents */
        start local 4 // java.util.List jsonsContents
         3: .line 265
            aload 4 /* jsonsContents */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 14
         4: .line 266
            aload 0 /* this */
         5: .line 267
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
         6: .line 268
            aload 4 /* jsonsContents */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.spec:Lio/swagger/v3/oas/models/OpenAPI;
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.generateSanitizedJsonSchemaNode:(Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/OpenAPI;)Lcom/fasterxml/jackson/databind/JsonNode;
            invokestatic io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory.createJsonTypeValidator:(Lcom/fasterxml/jackson/databind/JsonNode;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
         7: .line 269
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getRequired:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 8
            iconst_0
            goto 9
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.JsonTypeValidator
         8: iconst_1
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.JsonTypeValidator int
         9: aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            aload 3 /* location */
        10: .line 267
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        11: .line 269
            aload 3 /* location */
        12: .line 266
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;Lio/vertx/ext/web/api/validation/ParameterLocation;)V
        13: .line 270
            goto 38
      StackMap locals:
      StackMap stack:
        14: aload 2 /* contents */
            invokevirtual io.swagger.v3.oas.models.media.Content.size:()I
            iconst_1
            if_icmple 29
            aload 4 /* jsonsContents */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmplt 29
        15: .line 273
            aload 4 /* jsonsContents */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;)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/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl.lambda$1(Lio/swagger/v3/oas/models/media/MediaType;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator; (7)
                  (Lio/swagger/v3/oas/models/media/MediaType;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        16: .line 274
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
        17: .line 272
            astore 5 /* validators */
        start local 5 // java.util.List validators
        18: .line 275
            aload 5 /* validators */
            getstatic io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.CONTENT_TYPE_VALIDATOR:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 276
            new io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator
            dup
            aload 5 /* validators */
            invokespecial io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator.<init>:(Ljava/util/List;)V
            astore 6 /* validator */
        start local 6 // io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator validator
        20: .line 277
            aload 0 /* this */
        21: .line 278
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            aload 6 /* validator */
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getRequired:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 22
            iconst_0
            goto 23
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List java.util.List io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator
        22: iconst_1
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List java.util.List io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator int
        23: aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
        24: .line 279
            aload 3 /* location */
        25: .line 278
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        26: .line 279
            aload 3 /* location */
        27: .line 277
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;Lio/vertx/ext/web/api/validation/ParameterLocation;)V
        end local 6 // io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator validator
        end local 5 // java.util.List validators
        28: .line 280
            goto 38
        29: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        30: .line 282
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            getstatic io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.CONTENT_TYPE_VALIDATOR:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            aload 1 /* parameter */
        31: .line 283
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getRequired:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 32
            iconst_0
            goto 33
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator
        32: iconst_1
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator int
        33: aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
        34: .line 284
            aload 3 /* location */
        35: .line 282
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        36: .line 284
            aload 3 /* location */
        37: .line 281
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;Lio/vertx/ext/web/api/validation/ParameterLocation;)V
        38: .line 286
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.util.List jsonsContents
        end local 3 // io.vertx.ext.web.api.validation.ParameterLocation location
        end local 2 // io.swagger.v3.oas.models.media.Content contents
        end local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   39     0           this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   39     1      parameter  Lio/swagger/v3/oas/models/parameters/Parameter;
            1   39     2       contents  Lio/swagger/v3/oas/models/media/Content;
            2   39     3       location  Lio/vertx/ext/web/api/validation/ParameterLocation;
            3   39     4  jsonsContents  Ljava/util/List<Lio/swagger/v3/oas/models/media/MediaType;>;
           18   28     5     validators  Ljava/util/List<Lio/vertx/ext/web/api/validation/ParameterTypeValidator;>;
           20   28     6      validator  Lio/vertx/ext/web/api/validation/impl/AnyOfTypeValidator;
    MethodParameters:
           Name  Flags
      parameter  

  private void magicParameterExplodedMatrixArray(io.swagger.v3.oas.models.parameters.Parameter);
    descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
         0: .line 289
            aload 0 /* this */
         1: .line 290
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            checkcast io.swagger.v3.oas.models.media.ArraySchema
            invokevirtual io.swagger.v3.oas.models.media.ArraySchema.getItems:()Lio/swagger/v3/oas/models/media/Schema;
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            ldc "matrix_exploded_array"
            iconst_1
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaxItems:()Ljava/lang/Integer;
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
         2: .line 291
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinItems:()Ljava/lang/Integer;
         3: .line 289
            invokestatic io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory.createArrayTypeValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;ZLjava/lang/Integer;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/impl/ArrayTypeValidator;
            astore 2 /* validator */
        start local 2 // io.vertx.ext.web.api.validation.ParameterTypeValidator validator
         4: .line 293
            aload 0 /* this */
         5: .line 294
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            aload 2 /* validator */
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getRequired:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            iconst_0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.PATH:Lio/vertx/ext/web/api/validation/ParameterLocation;
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
         6: .line 293
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addPathParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
         7: .line 295
            return
        end local 2 // io.vertx.ext.web.api.validation.ParameterTypeValidator validator
        end local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0    8     1  parameter  Lio/swagger/v3/oas/models/parameters/Parameter;
            4    8     2  validator  Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    MethodParameters:
           Name  Flags
      parameter  

  private void magicParameterExplodedObject(io.swagger.v3.oas.models.parameters.Parameter);
    descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
         0: .line 298
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.solveObjectParameters:(Lio/swagger/v3/oas/models/media/Schema;)Ljava/util/Map;
            astore 2 /* properties */
        start local 2 // java.util.Map properties
         1: .line 299
            aload 2 /* properties */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 33
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         3: .line 300
            ldc "query"
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
         4: .line 301
            aload 0 /* this */
         5: .line 302
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            new io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
            dup
            aload 0 /* this */
         6: .line 303
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator.<init>:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;Ljava/lang/String;)V
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.isRequired:()Z
            ifeq 7
            iconst_0
            goto 8
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
         7: iconst_1
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator int
         8: aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.QUERY:Lio/vertx/ext/web/api/validation/ParameterLocation;
         9: .line 302
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        10: .line 301
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addQueryParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
        11: .line 304
            goto 33
      StackMap locals:
      StackMap stack:
        12: ldc "cookie"
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        13: .line 305
            aload 0 /* this */
        14: .line 306
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            new io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
            dup
            aload 0 /* this */
        15: .line 307
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator.<init>:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;Ljava/lang/String;)V
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.isRequired:()Z
            ifeq 16
            iconst_0
            goto 17
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
        16: iconst_1
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator int
        17: iconst_0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.COOKIE:Lio/vertx/ext/web/api/validation/ParameterLocation;
        18: .line 306
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        19: .line 305
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addCookieParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
        20: .line 308
            goto 33
      StackMap locals:
      StackMap stack:
        21: ldc "path"
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        22: .line 309
            aload 0 /* this */
        23: .line 310
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            new io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
            dup
            aload 0 /* this */
        24: .line 311
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator.<init>:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;Ljava/lang/String;)V
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.isRequired:()Z
            ifeq 25
            iconst_0
            goto 26
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
        25: iconst_1
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator int
        26: iconst_0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.PATH:Lio/vertx/ext/web/api/validation/ParameterLocation;
        27: .line 310
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        28: .line 309
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addPathParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
        29: .line 312
            goto 33
        30: .line 313
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
            dup
            new java.lang.StringBuilder
            dup
            ldc "combination of style, type and location (in) of parameter fields not supported for parameter "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        31: .line 314
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 313
            invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.Map$Entry entry
        33: .line 299
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        34: .line 317
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokevirtual io.swagger.v3.oas.models.media.Schema.getAdditionalProperties:()Ljava/lang/Object;
            instanceof io.swagger.v3.oas.models.media.Schema
            ifeq 48
        35: .line 318
            ldc "query"
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 41
        36: .line 319
            aload 0 /* this */
        37: .line 320
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokevirtual io.swagger.v3.oas.models.media.Schema.getAdditionalProperties:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.Schema
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
        38: .line 321
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
        39: .line 319
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.setQueryAdditionalPropertyHandler:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;)V
        40: .line 323
            goto 48
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map
      StackMap stack:
        41: ldc "cookie"
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 47
        42: .line 324
            aload 0 /* this */
        43: .line 325
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokevirtual io.swagger.v3.oas.models.media.Schema.getAdditionalProperties:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.Schema
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
        44: .line 326
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
        45: .line 324
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.setCookieAdditionalPropertyHandler:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;)V
        46: .line 328
            goto 48
        47: .line 329
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
            dup
            new java.lang.StringBuilder
            dup
            ldc "additionalProperties with exploded object fields not supports in path parameter "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
            athrow
        48: .line 332
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map properties
        end local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   49     0        this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   49     1   parameter  Lio/swagger/v3/oas/models/parameters/Parameter;
            1   49     2  properties  Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
            3   33     3       entry  Ljava/util/Map$Entry<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
    MethodParameters:
           Name  Flags
      parameter  

  private void magicParameterExplodedStyleSimpleTypeObject(io.swagger.v3.oas.models.parameters.Parameter);
    descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
         0: .line 336
            getstatic io.vertx.ext.web.api.validation.ContainerSerializationStyle.simple_exploded_object:Lio/vertx/ext/web/api/validation/ContainerSerializationStyle;
            iconst_0
            invokestatic io.vertx.ext.web.api.validation.impl.ObjectTypeValidator$ObjectTypeValidatorFactory.createObjectTypeValidator:(Lio/vertx/ext/web/api/validation/ContainerSerializationStyle;Z)Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
         1: .line 335
            astore 2 /* objectTypeValidator */
        start local 2 // io.vertx.ext.web.api.validation.impl.ObjectTypeValidator objectTypeValidator
         2: .line 337
            aload 0 /* this */
            aload 2 /* objectTypeValidator */
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveObjectTypeFields:(Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;Lio/swagger/v3/oas/models/media/Schema;)V
         3: .line 338
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
          -1221270899: 4
              3433509: 5
              default: 24
          }
      StackMap locals: io.vertx.ext.web.api.validation.impl.ObjectTypeValidator java.lang.String
      StackMap stack:
         4: aload 3
            ldc "header"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 24
      StackMap locals:
      StackMap stack:
         5: aload 3
            ldc "path"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 24
         6: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         7: .line 341
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            aload 2 /* objectTypeValidator */
         8: .line 342
            aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            ifeq 10
         9: .line 341
            iconst_0
            goto 11
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.impl.ObjectTypeValidator java.lang.String
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ObjectTypeValidator
        10: iconst_1
        11: .line 342
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.impl.ObjectTypeValidator java.lang.String
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ObjectTypeValidator int
            aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.PATH:Lio/vertx/ext/web/api/validation/ParameterLocation;
        12: .line 341
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        13: .line 340
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addPathParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
        14: .line 343
            goto 27
        15: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        16: .line 346
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            aload 2 /* objectTypeValidator */
        17: .line 347
            aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            ifeq 19
        18: .line 346
            iconst_0
            goto 20
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.impl.ObjectTypeValidator java.lang.String
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ObjectTypeValidator
        19: iconst_1
        20: .line 347
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.impl.ObjectTypeValidator java.lang.String
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ObjectTypeValidator int
            aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.HEADER:Lio/vertx/ext/web/api/validation/ParameterLocation;
        21: .line 346
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        22: .line 345
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addHeaderParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
        23: .line 348
            goto 27
        24: .line 350
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
            dup
            new java.lang.StringBuilder
            dup
            ldc "combination of style, type and location (in) of parameter fields not supported for parameter "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 351
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 350
            invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 353
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.ext.web.api.validation.impl.ObjectTypeValidator objectTypeValidator
        end local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   28     0                 this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   28     1            parameter  Lio/swagger/v3/oas/models/parameters/Parameter;
            2   28     2  objectTypeValidator  Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
    MethodParameters:
           Name  Flags
      parameter  

  private void magicParameterExplodedStyleDeepObjectTypeObject(io.swagger.v3.oas.models.parameters.Parameter);
    descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
         0: .line 356
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.solveObjectParameters:(Lio/swagger/v3/oas/models/media/Schema;)Ljava/util/Map;
            astore 2 /* properties */
        start local 2 // java.util.Map properties
         1: .line 357
            aload 2 /* properties */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         3: .line 358
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
            ldc "query"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
         4: .line 359
            aload 0 /* this */
         5: .line 360
            new java.lang.StringBuilder
            dup
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
            dup
            aload 0 /* this */
         6: .line 361
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator.<init>:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;Ljava/lang/String;)V
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.isRequired:()Z
            ifeq 7
            iconst_0
            goto 8
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
         7: iconst_1
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator int
         8: aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.QUERY:Lio/vertx/ext/web/api/validation/ParameterLocation;
         9: .line 360
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        10: .line 359
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addQueryParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
        11: .line 362
            goto 15
        12: .line 363
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
            dup
            new java.lang.StringBuilder
            dup
            ldc "combination of style, type and location (in) of parameter fields not supported for parameter "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 364
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 363
            invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.Map$Entry entry
        15: .line 357
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        16: .line 367
            return
        end local 2 // java.util.Map properties
        end local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   17     1   parameter  Lio/swagger/v3/oas/models/parameters/Parameter;
            1   17     2  properties  Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
            3   15     3       entry  Ljava/util/Map$Entry<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
    MethodParameters:
           Name  Flags
      parameter  

  private boolean checkSupportedAndNeedWorkaround(io.swagger.v3.oas.models.parameters.Parameter);
    descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
         0: .line 381
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getAllowReserved:()Ljava/lang/Boolean;
            if_acmpne 2
         1: .line 382
            new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
            dup
            ldc "allowReserved field not supported!"
            invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 383
      StackMap locals:
      StackMap stack:
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getContent:()Lio/swagger/v3/oas/models/media/Content;
            ifnull 5
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getContent:()Lio/swagger/v3/oas/models/media/Content;
            invokevirtual io.swagger.v3.oas.models.media.Content.size:()I
            ifeq 5
         3: .line 384
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.handleContent:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
         4: .line 385
            iconst_1
            ireturn
         5: .line 386
      StackMap locals:
      StackMap stack:
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getExplode:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 21
         6: .line 387
            aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isParameterObjectOrAllOfType:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            istore 2 /* isObject */
        start local 2 // boolean isObject
         7: .line 388
            aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveStyle:(Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/lang/String;
            astore 3 /* style */
        start local 3 // java.lang.String style
         8: .line 389
            aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isParameterArrayType:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            ifeq 11
            ldc "matrix"
            aload 3 /* style */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 390
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.magicParameterExplodedMatrixArray:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
        10: .line 391
            iconst_1
            ireturn
        11: .line 393
      StackMap locals: int java.lang.String
      StackMap stack:
            iload 2 /* isObject */
            ifeq 14
            ldc "form"
            aload 3 /* style */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            ldc "matrix"
            aload 3 /* style */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            ldc "label"
            aload 3 /* style */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.magicParameterExplodedObject:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
        13: .line 395
            iconst_1
            ireturn
        14: .line 397
      StackMap locals:
      StackMap stack:
            iload 2 /* isObject */
            ifeq 17
            ldc "simple"
            aload 3 /* style */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 398
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.magicParameterExplodedStyleSimpleTypeObject:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
        16: .line 399
            iconst_1
            ireturn
        17: .line 400
      StackMap locals:
      StackMap stack:
            ldc "deepObject"
            aload 3 /* style */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 401
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.magicParameterExplodedStyleDeepObjectTypeObject:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
        19: .line 402
            iconst_1
            ireturn
        20: .line 404
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.String style
        end local 2 // boolean isObject
        21: .line 407
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   22     1  parameter  Lio/swagger/v3/oas/models/parameters/Parameter;
            7   21     2   isObject  Z
            8   21     3      style  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      parameter  

  private io.vertx.ext.web.api.validation.ParameterLocation resolveLocation(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ParameterLocation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // java.lang.String in
         0: .line 412
            aload 1 /* in */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 4
          -1354757532: 1
          -1221270899: 2
              3433509: 3
            107944136: 4
              default: 9
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 2
            ldc "cookie"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 9
      StackMap locals:
      StackMap stack:
         2: aload 2
            ldc "header"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 9
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "path"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 9
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "query"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 9
         5: .line 414
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.HEADER:Lio/vertx/ext/web/api/validation/ParameterLocation;
            areturn
         6: .line 416
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.QUERY:Lio/vertx/ext/web/api/validation/ParameterLocation;
            areturn
         7: .line 418
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.COOKIE:Lio/vertx/ext/web/api/validation/ParameterLocation;
            areturn
         8: .line 420
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.PATH:Lio/vertx/ext/web/api/validation/ParameterLocation;
            areturn
         9: .line 422
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
            dup
            ldc "in field wrong or not supported"
            invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String in
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   10     1    in  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      in    

  private void parseParameter(io.swagger.v3.oas.models.parameters.Parameter);
    descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
         0: .line 428
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.checkSupportedAndNeedWorkaround:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            ifne 10
         1: .line 429
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveLocation:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ParameterLocation;
            astore 2 /* location */
        start local 2 // io.vertx.ext.web.api.validation.ParameterLocation location
         2: .line 430
            aload 0 /* this */
         3: .line 431
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveTypeValidator:(Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
         4: .line 432
            aload 1 /* parameter */
            invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getRequired:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.ParameterLocation
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator
         5: iconst_1
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.ParameterLocation
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator int
         6: aload 1 /* parameter */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
            aload 2 /* location */
         7: .line 431
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
         8: .line 432
            aload 2 /* location */
         9: .line 430
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;Lio/vertx/ext/web/api/validation/ParameterLocation;)V
        end local 2 // io.vertx.ext.web.api.validation.ParameterLocation location
        10: .line 434
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.swagger.v3.oas.models.parameters.Parameter parameter
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   11     1  parameter  Lio/swagger/v3/oas/models/parameters/Parameter;
            2   10     2   location  Lio/vertx/ext/web/api/validation/ParameterLocation;
    MethodParameters:
           Name  Flags
      parameter  

  private io.vertx.ext.web.api.validation.ParameterTypeValidator resolveSchemaTypeValidatorFormEncoded(io.swagger.v3.oas.models.media.Schema);
    descriptor: (Lio/swagger/v3/oas/models/media/Schema;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.media.Schema schema
         0: .line 440
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
            ldc "array"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         1: .line 441
            aload 0 /* this */
         2: .line 442
            aload 1 /* schema */
            checkcast io.swagger.v3.oas.models.media.ArraySchema
            invokevirtual io.swagger.v3.oas.models.media.ArraySchema.getItems:()Lio/swagger/v3/oas/models/media/Schema;
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            ldc "csv"
            iconst_0
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMaxItems:()Ljava/lang/Integer;
         3: .line 443
            aload 1 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getMinItems:()Ljava/lang/Integer;
         4: .line 441
            invokestatic io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory.createArrayTypeValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;ZLjava/lang/Integer;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/impl/ArrayTypeValidator;
            areturn
         5: .line 444
      StackMap locals:
      StackMap stack:
            aload 1 /* schema */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isSchemaObjectOrAllOfType:(Lio/swagger/v3/oas/models/media/Schema;)Z
            ifeq 10
         6: .line 446
            ldc "csv"
            iconst_0
            invokestatic io.vertx.ext.web.api.validation.impl.ObjectTypeValidator$ObjectTypeValidatorFactory.createObjectTypeValidator:(Ljava/lang/String;Z)Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
         7: .line 445
            astore 2 /* objectTypeValidator */
        start local 2 // io.vertx.ext.web.api.validation.impl.ObjectTypeValidator objectTypeValidator
         8: .line 447
            aload 0 /* this */
            aload 2 /* objectTypeValidator */
            aload 1 /* schema */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveObjectTypeFields:(Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;Lio/swagger/v3/oas/models/media/Schema;)V
         9: .line 448
            aload 2 /* objectTypeValidator */
            areturn
        end local 2 // io.vertx.ext.web.api.validation.impl.ObjectTypeValidator objectTypeValidator
        10: .line 450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* schema */
            iconst_1
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 1 // io.swagger.v3.oas.models.media.Schema schema
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   11     1               schema  Lio/swagger/v3/oas/models/media/Schema;
            8   10     2  objectTypeValidator  Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
    MethodParameters:
        Name  Flags
      schema  

  private void handleMultimapParameter(java.lang.String, java.lang.String, io.swagger.v3.oas.models.media.Schema, io.swagger.v3.oas.models.media.Schema);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/media/Schema;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // java.lang.String parameterName
        start local 2 // java.lang.String contentTypeRegex
        start local 3 // io.swagger.v3.oas.models.media.Schema schema
        start local 4 // io.swagger.v3.oas.models.media.Schema multipartObjectSchema
         0: .line 455
            aload 2 /* contentTypeRegex */
            ifnonnull 30
         1: .line 456
            aload 3 /* schema */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isSchemaObjectOrAllOfType:(Lio/swagger/v3/oas/models/media/Schema;)Z
            ifne 2
            aload 3 /* schema */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isSchemaArray:(Lio/swagger/v3/oas/models/media/Schema;)Z
            ifeq 14
            aload 3 /* schema */
            checkcast io.swagger.v3.oas.models.media.ArraySchema
            invokevirtual io.swagger.v3.oas.models.media.ArraySchema.getItems:()Lio/swagger/v3/oas/models/media/Schema;
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isSchemaObjectOrAllOfType:(Lio/swagger/v3/oas/models/media/Schema;)Z
            ifeq 14
         2: .line 457
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 458
            aload 1 /* parameterName */
         4: .line 459
            aload 3 /* schema */
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.spec:Lio/swagger/v3/oas/models/OpenAPI;
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.generateSanitizedJsonSchemaNode:(Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/OpenAPI;)Lcom/fasterxml/jackson/databind/JsonNode;
            invokestatic io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory.createJsonTypeValidator:(Lcom/fasterxml/jackson/databind/JsonNode;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
         5: .line 460
            aload 4 /* multipartObjectSchema */
            aload 1 /* parameterName */
         6: .line 459
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/media/Schema;Ljava/lang/String;)Z
         7: .line 460
            ifeq 9
         8: .line 459
            iconst_0
            goto 10
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.JsonTypeValidator
         9: iconst_1
        10: .line 460
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.JsonTypeValidator int
            iconst_0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY_FORM:Lio/vertx/ext/web/api/validation/ParameterLocation;
        11: .line 458
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        12: .line 457
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addFormParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
        13: .line 461
            goto 34
      StackMap locals:
      StackMap stack:
        14: aload 3 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
            ldc "string"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
            ldc "binary"
            aload 3 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            ldc "base64"
            aload 3 /* schema */
            invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        15: .line 462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        16: new io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator
            dup
            aload 0 /* this */
            ldc "application/octet-stream"
            invokestatic java.util.regex.Pattern.quote:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            aload 1 /* parameterName */
            aload 4 /* multipartObjectSchema */
            aload 1 /* parameterName */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/media/Schema;Ljava/lang/String;)Z
            ifeq 17
            iconst_0
            goto 18
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl new 16 new 16 io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.util.regex.Pattern java.lang.String
        17: iconst_1
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl new 16 new 16 io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.util.regex.Pattern java.lang.String int
        18: invokespecial io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator.<init>:(Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;Ljava/util/regex/Pattern;Ljava/lang/String;Z)V
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addCustomValidator:(Lio/vertx/ext/web/api/validation/CustomValidator;)V
        19: .line 463
            goto 34
        20: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        21: .line 465
            aload 1 /* parameterName */
        22: .line 466
            aload 0 /* this */
            aload 3 /* schema */
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveSchemaTypeValidatorFormEncoded:(Lio/swagger/v3/oas/models/media/Schema;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
        23: .line 467
            aload 4 /* multipartObjectSchema */
            aload 1 /* parameterName */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/media/Schema;Ljava/lang/String;)Z
            ifeq 24
            iconst_0
            goto 25
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator
        24: iconst_1
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator int
        25: iconst_0
        26: .line 468
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY_FORM:Lio/vertx/ext/web/api/validation/ParameterLocation;
        27: .line 465
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        28: .line 464
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addFormParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
        29: .line 470
            goto 34
        30: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        31: new io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator
            dup
            aload 0 /* this */
            aload 2 /* contentTypeRegex */
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            aload 1 /* parameterName */
            aload 4 /* multipartObjectSchema */
            aload 1 /* parameterName */
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/media/Schema;Ljava/lang/String;)Z
            ifeq 32
            iconst_0
            goto 33
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl new 31 new 31 io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.util.regex.Pattern java.lang.String
        32: iconst_1
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl new 31 new 31 io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.util.regex.Pattern java.lang.String int
        33: invokespecial io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator.<init>:(Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;Ljava/util/regex/Pattern;Ljava/lang/String;Z)V
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addCustomValidator:(Lio/vertx/ext/web/api/validation/CustomValidator;)V
        34: .line 473
      StackMap locals:
      StackMap stack:
            return
        end local 4 // io.swagger.v3.oas.models.media.Schema multipartObjectSchema
        end local 3 // io.swagger.v3.oas.models.media.Schema schema
        end local 2 // java.lang.String contentTypeRegex
        end local 1 // java.lang.String parameterName
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   35     0                   this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   35     1          parameterName  Ljava/lang/String;
            0   35     2       contentTypeRegex  Ljava/lang/String;
            0   35     3                 schema  Lio/swagger/v3/oas/models/media/Schema;
            0   35     4  multipartObjectSchema  Lio/swagger/v3/oas/models/media/Schema;
    MethodParameters:
                       Name  Flags
      parameterName          
      contentTypeRegex       
      schema                 
      multipartObjectSchema  

  private void parseRequestBody(io.swagger.v3.oas.models.parameters.RequestBody);
    descriptor: (Lio/swagger/v3/oas/models/parameters/RequestBody;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.parameters.RequestBody requestBody
         0: .line 477
            aload 1 /* requestBody */
            ifnull 46
            aload 1 /* requestBody */
            invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.getContent:()Lio/swagger/v3/oas/models/media/Content;
            ifnull 46
         1: .line 478
            aload 1 /* requestBody */
            invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.getContent:()Lio/swagger/v3/oas/models/media/Content;
            invokevirtual io.swagger.v3.oas.models.media.Content.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 42
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* mediaType */
        start local 2 // java.util.Map$Entry mediaType
         3: .line 479
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic io.vertx.ext.web.impl.Utils.isJsonContentType:(Ljava/lang/String;)Z
            ifeq 8
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            ifnull 8
         4: .line 480
            aload 0 /* this */
         5: .line 481
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.spec:Lio/swagger/v3/oas/models/OpenAPI;
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.generateSanitizedJsonSchemaNode:(Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/OpenAPI;)Lcom/fasterxml/jackson/databind/JsonNode;
            invokestatic io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory.createJsonTypeValidator:(Lcom/fasterxml/jackson/databind/JsonNode;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
         6: .line 480
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.setEntireBodyValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;)V
         7: .line 482
            goto 42
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator
      StackMap stack:
         8: aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc "application/x-www-form-urlencoded"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            ifnull 25
         9: .line 484
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokevirtual io.swagger.v3.oas.models.media.Schema.getProperties:()Ljava/util/Map;
        10: .line 485
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 23
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* paramSchema */
        start local 4 // java.util.Map$Entry paramSchema
        12: .line 486
            aload 0 /* this */
        13: .line 487
            aload 4 /* paramSchema */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* this */
        14: .line 488
            aload 4 /* paramSchema */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.Schema
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveSchemaTypeValidatorFormEncoded:(Lio/swagger/v3/oas/models/media/Schema;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
        15: .line 489
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            aload 4 /* paramSchema */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
        16: .line 488
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/media/Schema;Ljava/lang/String;)Z
        17: .line 489
            ifeq 19
        18: .line 488
            iconst_0
            goto 20
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator
        19: iconst_1
        20: .line 489
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator int
            iconst_0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY_FORM:Lio/vertx/ext/web/api/validation/ParameterLocation;
        21: .line 487
            invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
        22: .line 486
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addFormParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
        end local 4 // java.util.Map$Entry paramSchema
        23: .line 484
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        24: .line 491
            goto 42
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator
      StackMap stack:
        25: aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc "multipart/form-data"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 41
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            ifnull 41
        26: .line 492
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
            ldc "object"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 41
        27: .line 493
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            invokevirtual io.swagger.v3.oas.models.media.Schema.getProperties:()Ljava/util/Map;
        28: .line 494
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 39
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator top java.util.Iterator
      StackMap stack:
        29: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* multipartProperty */
        start local 4 // java.util.Map$Entry multipartProperty
        30: .line 495
            aconst_null
            astore 6 /* encodingProperty */
        start local 6 // io.swagger.v3.oas.models.media.Encoding encodingProperty
        31: .line 496
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getEncoding:()Ljava/util/Map;
            ifnull 33
        32: .line 497
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getEncoding:()Ljava/util/Map;
            aload 4 /* multipartProperty */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.Encoding
            astore 6 /* encodingProperty */
        33: .line 498
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator java.util.Map$Entry java.util.Iterator io.swagger.v3.oas.models.media.Encoding
      StackMap stack:
            aconst_null
            astore 7 /* contentTypeRegex */
        start local 7 // java.lang.String contentTypeRegex
        34: .line 499
            aload 6 /* encodingProperty */
            ifnull 36
            aload 6 /* encodingProperty */
            invokevirtual io.swagger.v3.oas.models.media.Encoding.getContentType:()Ljava/lang/String;
            ifnull 36
        35: .line 500
            aload 6 /* encodingProperty */
            invokevirtual io.swagger.v3.oas.models.media.Encoding.getContentType:()Ljava/lang/String;
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveContentTypeRegex:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* contentTypeRegex */
        36: .line 502
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 4 /* multipartProperty */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 7 /* contentTypeRegex */
            aload 4 /* multipartProperty */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.Schema
        37: .line 503
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.media.MediaType
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
        38: .line 502
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.handleMultimapParameter:(Ljava/lang/String;Ljava/lang/String;Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/media/Schema;)V
        end local 7 // java.lang.String contentTypeRegex
        end local 6 // io.swagger.v3.oas.models.media.Encoding encodingProperty
        end local 4 // java.util.Map$Entry multipartProperty
        39: .line 493
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        40: .line 505
            goto 42
        41: .line 506
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 2 /* mediaType */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addBodyFileRule:(Ljava/lang/String;)V
        end local 2 // java.util.Map$Entry mediaType
        42: .line 478
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        43: .line 509
            aload 0 /* this */
            aload 1 /* requestBody */
            invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.getRequired:()Ljava/lang/Boolean;
            ifnonnull 44
            iconst_0
            goto 45
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl
        44: aload 1 /* requestBody */
            invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.getRequired:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
      StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody
      StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl int
        45: putfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.bodyRequired:Z
        46: .line 511
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.swagger.v3.oas.models.parameters.RequestBody requestBody
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   47     0               this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0   47     1        requestBody  Lio/swagger/v3/oas/models/parameters/RequestBody;
            3   42     2          mediaType  Ljava/util/Map$Entry<Ljava/lang/String;+Lio/swagger/v3/oas/models/media/MediaType;>;
           12   23     4        paramSchema  Ljava/util/Map$Entry<Ljava/lang/String;+Lio/swagger/v3/oas/models/media/Schema;>;
           30   39     4  multipartProperty  Ljava/util/Map$Entry<Ljava/lang/String;+Lio/swagger/v3/oas/models/media/Schema;>;
           31   39     6   encodingProperty  Lio/swagger/v3/oas/models/media/Encoding;
           34   39     7   contentTypeRegex  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      requestBody  

  private io.vertx.ext.web.api.validation.impl.JsonTypeValidator lambda$1(io.swagger.v3.oas.models.media.MediaType);
    descriptor: (Lio/swagger/v3/oas/models/media/MediaType;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
        start local 1 // io.swagger.v3.oas.models.media.MediaType e
         0: .line 274
            aload 1 /* e */
            invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.spec:Lio/swagger/v3/oas/models/OpenAPI;
            invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.generateSanitizedJsonSchemaNode:(Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/OpenAPI;)Lcom/fasterxml/jackson/databind/JsonNode;
            invokestatic io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory.createJsonTypeValidator:(Lcom/fasterxml/jackson/databind/JsonNode;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
            areturn
        end local 1 // io.swagger.v3.oas.models.media.MediaType e
        end local 0 // io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
            0    1     1     e  Lio/swagger/v3/oas/models/media/MediaType;
}
Signature: Lio/vertx/ext/web/api/contract/impl/HTTPOperationRequestValidationHandlerImpl<Lio/swagger/v3/oas/models/Operation;>;Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RequestValidationHandler;
SourceFile: "OpenAPI3RequestValidationHandlerImpl.java"
NestMembers:
  io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$1  io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator
InnerClasses:
  io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$1
  private MultipartCustomValidator = io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator of io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl
  protected ObjectField = io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField of io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils
  public ArrayTypeValidatorFactory = io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory of io.vertx.ext.web.api.validation.impl.ArrayTypeValidator
  public JsonTypeValidatorFactory = io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory of io.vertx.ext.web.api.validation.impl.JsonTypeValidator
  public ObjectTypeValidatorFactory = io.vertx.ext.web.api.validation.impl.ObjectTypeValidator$ObjectTypeValidatorFactory of io.vertx.ext.web.api.validation.impl.ObjectTypeValidator
  public ParameterValidationRuleFactory = io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory of io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map