public abstract class io.vertx.ext.web.api.validation.impl.BaseValidationHandler implements io.vertx.ext.web.api.validation.ValidationHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.vertx.ext.web.api.validation.impl.BaseValidationHandler
  super_class: java.lang.Object
{
  private java.util.Map<java.lang.String, io.vertx.ext.web.api.validation.ParameterValidationRule> pathParamsRules;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterValidationRule;>;

  private java.util.Map<java.lang.String, io.vertx.ext.web.api.validation.ParameterValidationRule> cookieParamsRules;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterValidationRule;>;

  private io.vertx.ext.web.api.validation.ParameterTypeValidator cookieAdditionalPropertiesValidator;
    descriptor: Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String cookieAdditionalPropertiesObjectPropertyName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, io.vertx.ext.web.api.validation.ParameterValidationRule> queryParamsRules;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterValidationRule;>;

  private io.vertx.ext.web.api.validation.ParameterTypeValidator queryAdditionalPropertiesValidator;
    descriptor: Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String queryAdditionalPropertiesObjectPropertyName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, io.vertx.ext.web.api.validation.ParameterValidationRule> formParamsRules;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterValidationRule;>;

  private java.util.Map<java.lang.String, io.vertx.ext.web.api.validation.ParameterValidationRule> headerParamsRules;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterValidationRule;>;

  private io.vertx.ext.web.api.validation.ParameterTypeValidator entireBodyValidator;
    descriptor: Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, java.util.regex.Pattern> multipartFileRules;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/regex/Pattern;>;

  private java.util.List<java.lang.String> bodyFileRules;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private java.util.List<io.vertx.ext.web.api.validation.CustomValidator> customValidators;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lio/vertx/ext/web/api/validation/CustomValidator;>;

  protected boolean bodyRequired;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  private static volatile int[] $SWITCH_TABLE$io$vertx$ext$web$api$validation$ParameterLocation;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 40
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.pathParamsRules:Ljava/util/Map;
         2: .line 41
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieParamsRules:Ljava/util/Map;
         3: .line 42
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.formParamsRules:Ljava/util/Map;
         4: .line 43
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryParamsRules:Ljava/util/Map;
         5: .line 44
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.headerParamsRules:Ljava/util/Map;
         6: .line 45
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.multipartFileRules:Ljava/util/Map;
         7: .line 46
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyFileRules:Ljava/util/List;
         8: .line 47
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.customValidators:Ljava/util/List;
         9: .line 49
            aload 0 /* this */
            iconst_0
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
        10: .line 50
            return
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;

  public void handle(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 55
            new io.vertx.ext.web.api.impl.RequestParametersImpl
            dup
            invokespecial io.vertx.ext.web.api.impl.RequestParametersImpl.<init>:()V
            astore 2 /* parsedParameters */
        start local 2 // io.vertx.ext.web.api.impl.RequestParametersImpl parsedParameters
         1: .line 57
            aload 2 /* parsedParameters */
            aload 0 /* this */
            aload 1 /* routingContext */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.validatePathParams:(Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map;
            invokevirtual io.vertx.ext.web.api.impl.RequestParametersImpl.setPathParameters:(Ljava/util/Map;)V
         2: .line 58
            aload 2 /* parsedParameters */
            aload 0 /* this */
            aload 1 /* routingContext */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.validateQueryParams:(Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map;
            invokevirtual io.vertx.ext.web.api.impl.RequestParametersImpl.setQueryParameters:(Ljava/util/Map;)V
         3: .line 59
            aload 2 /* parsedParameters */
            aload 0 /* this */
            aload 1 /* routingContext */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.validateHeaderParams:(Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map;
            invokevirtual io.vertx.ext.web.api.impl.RequestParametersImpl.setHeaderParameters:(Ljava/util/Map;)V
         4: .line 60
            aload 2 /* parsedParameters */
            aload 0 /* this */
            aload 1 /* routingContext */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.validateCookieParams:(Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map;
            invokevirtual io.vertx.ext.web.api.impl.RequestParametersImpl.setCookieParameters:(Ljava/util/Map;)V
         5: .line 63
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.customValidators:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.vertx.ext.web.api.impl.RequestParametersImpl top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.validation.CustomValidator
            astore 3 /* customValidator */
        start local 3 // io.vertx.ext.web.api.validation.CustomValidator customValidator
         7: .line 64
            aload 3 /* customValidator */
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.api.validation.CustomValidator.validate:(Lio/vertx/ext/web/RoutingContext;)V
        end local 3 // io.vertx.ext.web.api.validation.CustomValidator customValidator
         8: .line 63
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 67
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            getstatic io.vertx.core.http.HttpHeaders.CONTENT_TYPE:Ljava/lang/CharSequence;
            invokeinterface io.vertx.core.http.HttpServerRequest.getHeader:(Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 3 /* contentType */
        start local 3 // java.lang.String contentType
        10: .line 68
            aload 3 /* contentType */
            ifnull 28
            aload 3 /* contentType */
            invokevirtual java.lang.String.length:()I
            ifeq 28
        11: .line 69
            aload 3 /* contentType */
            ldc "multipart/form-data"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            istore 4 /* isMultipart */
        start local 4 // boolean isMultipart
        12: .line 71
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.multipartFileRules:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifeq 16
            iload 4 /* isMultipart */
            ifne 16
        13: .line 72
            aload 3 /* contentType */
        14: .line 73
            ldc "multipart/form-data"
        15: .line 72
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateWrongContentTypeExpected:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        16: .line 75
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.vertx.ext.web.api.impl.RequestParametersImpl java.lang.String int
      StackMap stack:
            aload 3 /* contentType */
            ldc "application/x-www-form-urlencoded"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 19
        17: .line 76
            aload 2 /* parsedParameters */
            aload 0 /* this */
            aload 1 /* routingContext */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.validateFormParams:(Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map;
            invokevirtual io.vertx.ext.web.api.impl.RequestParametersImpl.setFormParameters:(Ljava/util/Map;)V
        18: .line 77
            goto 30
      StackMap locals:
      StackMap stack:
        19: iload 4 /* isMultipart */
            ifeq 23
        20: .line 78
            aload 2 /* parsedParameters */
            aload 0 /* this */
            aload 1 /* routingContext */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.validateFormParams:(Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map;
            invokevirtual io.vertx.ext.web.api.impl.RequestParametersImpl.setFormParameters:(Ljava/util/Map;)V
        21: .line 79
            aload 0 /* this */
            aload 1 /* routingContext */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.validateFileUpload:(Lio/vertx/ext/web/RoutingContext;)V
        22: .line 80
            goto 30
      StackMap locals:
      StackMap stack:
        23: aload 3 /* contentType */
            invokestatic io.vertx.ext.web.impl.Utils.isJsonContentType:(Ljava/lang/String;)Z
            ifne 24
            aload 3 /* contentType */
            invokestatic io.vertx.ext.web.impl.Utils.isXMLContentType:(Ljava/lang/String;)Z
            ifeq 26
        24: .line 81
      StackMap locals:
      StackMap stack:
            aload 2 /* parsedParameters */
            aload 0 /* this */
            aload 1 /* routingContext */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.validateEntireBody:(Lio/vertx/ext/web/RoutingContext;)Lio/vertx/ext/web/api/RequestParameter;
            invokevirtual io.vertx.ext.web.api.impl.RequestParametersImpl.setBody:(Lio/vertx/ext/web/api/RequestParameter;)V
        25: .line 82
            goto 30
      StackMap locals:
      StackMap stack:
        26: aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
            ifeq 30
            aload 0 /* this */
            aload 3 /* contentType */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.checkContentType:(Ljava/lang/String;)Z
            ifne 30
        27: .line 83
            aload 3 /* contentType */
            aconst_null
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateWrongContentTypeExpected:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 4 // boolean isMultipart
        28: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
            ifeq 30
        29: .line 86
            aload 3 /* contentType */
            aconst_null
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateWrongContentTypeExpected:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        30: .line 89
      StackMap locals:
      StackMap stack:
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.data:()Ljava/util/Map;
            ldc "parsedParameters"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 33
        31: .line 90
            aload 1 /* routingContext */
            ldc "parsedParameters"
            invokeinterface io.vertx.ext.web.RoutingContext.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.impl.RequestParametersImpl
            aload 2 /* parsedParameters */
            invokevirtual io.vertx.ext.web.api.impl.RequestParametersImpl.merge:(Lio/vertx/ext/web/api/impl/RequestParametersImpl;)V
        32: .line 91
            goto 34
        33: .line 92
      StackMap locals:
      StackMap stack:
            aload 1 /* routingContext */
            ldc "parsedParameters"
            aload 2 /* parsedParameters */
            invokeinterface io.vertx.ext.web.RoutingContext.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/ext/web/RoutingContext;
            pop
        34: .line 94
      StackMap locals:
      StackMap stack:
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.next:()V
        end local 3 // java.lang.String contentType
        end local 2 // io.vertx.ext.web.api.impl.RequestParametersImpl parsedParameters
        35: .line 96
            goto 38
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext
      StackMap stack: io.vertx.ext.web.api.validation.ValidationException
        36: astore 2 /* e */
        start local 2 // io.vertx.ext.web.api.validation.ValidationException e
        37: .line 97
            aload 1 /* routingContext */
            sipush 400
            aload 2 /* e */
            invokeinterface io.vertx.ext.web.RoutingContext.fail:(ILjava/lang/Throwable;)V
        end local 2 // io.vertx.ext.web.api.validation.ValidationException e
        38: .line 99
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.ext.web.RoutingContext routingContext
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   39     0              this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0   39     1    routingContext  Lio/vertx/ext/web/RoutingContext;
            1   35     2  parsedParameters  Lio/vertx/ext/web/api/impl/RequestParametersImpl;
            7    8     3   customValidator  Lio/vertx/ext/web/api/validation/CustomValidator;
           10   35     3       contentType  Ljava/lang/String;
           12   28     4       isMultipart  Z
           37   38     2                 e  Lio/vertx/ext/web/api/validation/ValidationException;
      Exception table:
        from    to  target  type
           0    35      36  Class io.vertx.ext.web.api.validation.ValidationException
    MethodParameters:
                Name  Flags
      routingContext  

  private java.util.Map<java.lang.String, io.vertx.ext.web.api.RequestParameter> validatePathParams(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 103
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* parsedParams */
        start local 2 // java.util.Map parsedParams
         1: .line 104
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.pathParams:()Ljava/util/Map;
            astore 3 /* pathParams */
        start local 3 // java.util.Map pathParams
         2: .line 105
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.pathParamsRules:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.validation.ParameterValidationRule
            astore 4 /* rule */
        start local 4 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
         4: .line 106
            aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         5: .line 107
            aload 3 /* pathParams */
            aload 6 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 12
         6: .line 108
            aload 3 /* pathParams */
            aload 6 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 7
            aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.isOptional:()Z
            ifne 15
         7: .line 109
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map java.util.Map io.vertx.ext.web.api.validation.ParameterValidationRule java.util.Iterator java.lang.String
      StackMap stack:
            aload 4 /* rule */
            aload 3 /* pathParams */
            aload 6 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.validateSingleParam:(Ljava/lang/String;)Lio/vertx/ext/web/api/RequestParameter;
            astore 7 /* parsedParam */
        start local 7 // io.vertx.ext.web.api.RequestParameter parsedParam
         8: .line 110
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 111
            aload 7 /* parsedParam */
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameter
            invokeinterface io.vertx.ext.web.api.RequestParameter.merge:(Lio/vertx/ext/web/api/RequestParameter;)Lio/vertx/ext/web/api/RequestParameter;
            astore 7 /* parsedParam */
        10: .line 112
      StackMap locals: io.vertx.ext.web.api.RequestParameter
      StackMap stack:
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            aload 7 /* parsedParam */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // io.vertx.ext.web.api.RequestParameter parsedParam
        11: .line 114
            goto 15
        12: .line 115
      StackMap locals:
      StackMap stack:
            aload 6 /* name */
        13: .line 116
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.PATH:Lio/vertx/ext/web/api/validation/ParameterLocation;
        14: .line 115
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateNotFoundValidationException:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 6 // java.lang.String name
        end local 4 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        15: .line 105
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        16: .line 118
            aload 2 /* parsedParams */
            areturn
        end local 3 // java.util.Map pathParams
        end local 2 // java.util.Map parsedParams
        end local 1 // io.vertx.ext.web.RoutingContext routingContext
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0   17     1  routingContext  Lio/vertx/ext/web/RoutingContext;
            1   17     2    parsedParams  Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
            2   17     3      pathParams  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            4   15     4            rule  Lio/vertx/ext/web/api/validation/ParameterValidationRule;
            5   15     6            name  Ljava/lang/String;
            8   11     7     parsedParam  Lio/vertx/ext/web/api/RequestParameter;
    Exceptions:
      throws io.vertx.ext.web.api.validation.ValidationException
    Signature: (Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
    MethodParameters:
                Name  Flags
      routingContext  

  private java.util.Map<java.lang.String, io.vertx.ext.web.api.RequestParameter> validateCookieParams(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 123
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            invokeinterface io.vertx.core.http.HttpServerRequest.headers:()Lio/vertx/core/MultiMap;
            ldc "Cookie"
            invokeinterface io.vertx.core.MultiMap.contains:(Ljava/lang/String;)Z
            ifne 2
         1: .line 124
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            areturn
         2: .line 125
      StackMap locals:
      StackMap stack:
            new io.netty.handler.codec.http.QueryStringDecoder
            dup
            new java.lang.StringBuilder
            dup
            ldc "/?"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            ldc "Cookie"
            invokeinterface io.vertx.core.http.HttpServerRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/lang/String;)V
            astore 2 /* decoder */
        start local 2 // io.netty.handler.codec.http.QueryStringDecoder decoder
         3: .line 126
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* cookies */
        start local 3 // java.util.Map cookies
         4: .line 127
            aload 2 /* decoder */
            invokevirtual io.netty.handler.codec.http.QueryStringDecoder.parameters:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.netty.handler.codec.http.QueryStringDecoder java.util.Map top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* e */
        start local 4 // java.util.Map$Entry e
         6: .line 128
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 6 /* key */
        start local 6 // java.lang.String key
         7: .line 129
            aload 3 /* cookies */
            aload 6 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 130
            aload 3 /* cookies */
            aload 6 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Collection
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
            goto 10
         9: .line 132
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.netty.handler.codec.http.QueryStringDecoder java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String
      StackMap stack:
            aload 3 /* cookies */
            aload 6 /* key */
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.String key
        end local 4 // java.util.Map$Entry e
        10: .line 127
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.netty.handler.codec.http.QueryStringDecoder java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 134
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* parsedParams */
        start local 4 // java.util.Map parsedParams
        12: .line 135
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieParamsRules:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 34
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.netty.handler.codec.http.QueryStringDecoder java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        13: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.validation.ParameterValidationRule
            astore 5 /* rule */
        start local 5 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        14: .line 136
            aload 5 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        15: .line 137
            aload 3 /* cookies */
            aload 7 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 24
        16: .line 138
            aload 3 /* cookies */
            aload 7 /* name */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 8 /* p */
        start local 8 // java.util.List p
        17: .line 139
            aload 8 /* p */
            invokeinterface java.util.List.size:()I
            ifeq 23
        18: .line 140
            aload 5 /* rule */
            aload 8 /* p */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.validateArrayParam:(Ljava/util/List;)Lio/vertx/ext/web/api/RequestParameter;
            astore 9 /* parsedParam */
        start local 9 // io.vertx.ext.web.api.RequestParameter parsedParam
        19: .line 141
            aload 4 /* parsedParams */
            aload 9 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 21
        20: .line 142
            aload 9 /* parsedParam */
            aload 4 /* parsedParams */
            aload 9 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameter
            invokeinterface io.vertx.ext.web.api.RequestParameter.merge:(Lio/vertx/ext/web/api/RequestParameter;)Lio/vertx/ext/web/api/RequestParameter;
            astore 9 /* parsedParam */
        21: .line 143
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.netty.handler.codec.http.QueryStringDecoder java.util.Map java.util.Map io.vertx.ext.web.api.validation.ParameterValidationRule java.util.Iterator java.lang.String java.util.List io.vertx.ext.web.api.RequestParameter
      StackMap stack:
            aload 4 /* parsedParams */
            aload 9 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            aload 9 /* parsedParam */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // io.vertx.ext.web.api.RequestParameter parsedParam
        22: .line 144
            goto 34
        23: .line 145
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 7 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " can't be empty"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateNotMatchValidationException:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 8 // java.util.List p
        24: .line 148
      StackMap locals:
      StackMap stack:
            aload 5 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.parameterTypeValidator:()Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.getDefault:()Ljava/lang/Object;
            ifnull 30
        25: .line 149
            new io.vertx.ext.web.api.impl.RequestParameterImpl
            dup
            aload 7 /* name */
            aload 5 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.parameterTypeValidator:()Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.getDefault:()Ljava/lang/Object;
            invokespecial io.vertx.ext.web.api.impl.RequestParameterImpl.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            astore 8 /* parsedParam */
        start local 8 // io.vertx.ext.web.api.RequestParameter parsedParam
        26: .line 150
            aload 4 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 28
        27: .line 151
            aload 8 /* parsedParam */
            aload 4 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameter
            invokeinterface io.vertx.ext.web.api.RequestParameter.merge:(Lio/vertx/ext/web/api/RequestParameter;)Lio/vertx/ext/web/api/RequestParameter;
            astore 8 /* parsedParam */
        28: .line 152
      StackMap locals: io.vertx.ext.web.api.RequestParameter
      StackMap stack:
            aload 4 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            aload 8 /* parsedParam */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // io.vertx.ext.web.api.RequestParameter parsedParam
        29: .line 153
            goto 34
      StackMap locals:
      StackMap stack:
        30: aload 5 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.isOptional:()Z
            ifne 34
        31: .line 154
            aload 7 /* name */
        32: .line 155
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.COOKIE:Lio/vertx/ext/web/api/validation/ParameterLocation;
        33: .line 154
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateNotFoundValidationException:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 7 // java.lang.String name
        end local 5 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        34: .line 135
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.netty.handler.codec.http.QueryStringDecoder java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        35: .line 158
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieAdditionalPropertiesValidator:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            ifnull 50
        36: .line 159
            aload 3 /* cookies */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 49
      StackMap locals:
      StackMap stack:
        37: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* e */
        start local 5 // java.util.Map$Entry e
        38: .line 161
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 7 /* r */
        start local 7 // java.util.Map r
        39: .line 162
            aload 7 /* r */
            aload 5 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieAdditionalPropertiesValidator:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            aload 5 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.isValidCollection:(Ljava/util/List;)Lio/vertx/ext/web/api/RequestParameter;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        40: .line 163
            new io.vertx.ext.web.api.impl.RequestParameterImpl
            dup
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
            aload 7 /* r */
            invokespecial io.vertx.ext.web.api.impl.RequestParameterImpl.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            astore 8 /* parsedParam */
        start local 8 // io.vertx.ext.web.api.RequestParameter parsedParam
        41: .line 164
            aload 4 /* parsedParams */
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 43
        42: .line 165
            aload 8 /* parsedParam */
            aload 4 /* parsedParams */
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameter
            invokeinterface io.vertx.ext.web.api.RequestParameter.merge:(Lio/vertx/ext/web/api/RequestParameter;)Lio/vertx/ext/web/api/RequestParameter;
            astore 8 /* parsedParam */
        43: .line 166
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.netty.handler.codec.http.QueryStringDecoder java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator java.util.Map io.vertx.ext.web.api.RequestParameter
      StackMap stack:
            aload 4 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            aload 8 /* parsedParam */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // io.vertx.ext.web.api.RequestParameter parsedParam
        end local 7 // java.util.Map r
        44: .line 167
            goto 49
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.netty.handler.codec.http.QueryStringDecoder java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.validation.ValidationException
        45: astore 7 /* ex */
        start local 7 // io.vertx.ext.web.api.validation.ValidationException ex
        46: .line 168
            aload 7 /* ex */
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
            invokevirtual io.vertx.ext.web.api.validation.ValidationException.setParameterName:(Ljava/lang/String;)V
        47: .line 169
            aload 5 /* e */
            aload 5 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.Map$Entry.setValue:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        48: .line 170
            aload 7 /* ex */
            athrow
        end local 7 // io.vertx.ext.web.api.validation.ValidationException ex
        end local 5 // java.util.Map$Entry e
        49: .line 159
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.netty.handler.codec.http.QueryStringDecoder java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 37
        50: .line 174
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext io.netty.handler.codec.http.QueryStringDecoder java.util.Map java.util.Map
      StackMap stack:
            aload 4 /* parsedParams */
            areturn
        end local 4 // java.util.Map parsedParams
        end local 3 // java.util.Map cookies
        end local 2 // io.netty.handler.codec.http.QueryStringDecoder decoder
        end local 1 // io.vertx.ext.web.RoutingContext routingContext
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   51     0            this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0   51     1  routingContext  Lio/vertx/ext/web/RoutingContext;
            3   51     2         decoder  Lio/netty/handler/codec/http/QueryStringDecoder;
            4   51     3         cookies  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            6   10     4               e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            7   10     6             key  Ljava/lang/String;
           12   51     4    parsedParams  Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
           14   34     5            rule  Lio/vertx/ext/web/api/validation/ParameterValidationRule;
           15   34     7            name  Ljava/lang/String;
           17   24     8               p  Ljava/util/List<Ljava/lang/String;>;
           19   22     9     parsedParam  Lio/vertx/ext/web/api/RequestParameter;
           26   29     8     parsedParam  Lio/vertx/ext/web/api/RequestParameter;
           38   49     5               e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           39   44     7               r  Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
           41   44     8     parsedParam  Lio/vertx/ext/web/api/RequestParameter;
           46   49     7              ex  Lio/vertx/ext/web/api/validation/ValidationException;
      Exception table:
        from    to  target  type
          38    44      45  Class io.vertx.ext.web.api.validation.ValidationException
    Exceptions:
      throws io.vertx.ext.web.api.validation.ValidationException
    Signature: (Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
    MethodParameters:
                Name  Flags
      routingContext  

  private java.util.Map<java.lang.String, io.vertx.ext.web.api.RequestParameter> validateQueryParams(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 179
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* parsedParams */
        start local 2 // java.util.Map parsedParams
         1: .line 180
            invokestatic io.vertx.core.MultiMap.caseInsensitiveMultiMap:()Lio/vertx/core/MultiMap;
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.queryParams:()Lio/vertx/core/MultiMap;
            invokeinterface io.vertx.core.MultiMap.addAll:(Lio/vertx/core/MultiMap;)Lio/vertx/core/MultiMap;
            astore 3 /* queryParams */
        start local 3 // io.vertx.core.MultiMap queryParams
         2: .line 181
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryParamsRules:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 25
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.validation.ParameterValidationRule
            astore 4 /* rule */
        start local 4 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
         4: .line 182
            aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         5: .line 183
            aload 3 /* queryParams */
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.contains:(Ljava/lang/String;)Z
            ifeq 15
         6: .line 184
            aload 3 /* queryParams */
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.getAll:(Ljava/lang/String;)Ljava/util/List;
            astore 7 /* p */
        start local 7 // java.util.List p
         7: .line 185
            aload 3 /* queryParams */
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.remove:(Ljava/lang/String;)Lio/vertx/core/MultiMap;
            pop
         8: .line 186
            aload 7 /* p */
            invokeinterface java.util.List.size:()I
            ifeq 14
         9: .line 187
            aload 4 /* rule */
            aload 7 /* p */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.validateArrayParam:(Ljava/util/List;)Lio/vertx/ext/web/api/RequestParameter;
            astore 8 /* parsedParam */
        start local 8 // io.vertx.ext.web.api.RequestParameter parsedParam
        10: .line 188
            aload 2 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 189
            aload 8 /* parsedParam */
            aload 2 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameter
            invokeinterface io.vertx.ext.web.api.RequestParameter.merge:(Lio/vertx/ext/web/api/RequestParameter;)Lio/vertx/ext/web/api/RequestParameter;
            astore 8 /* parsedParam */
        12: .line 190
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap io.vertx.ext.web.api.validation.ParameterValidationRule java.util.Iterator java.lang.String java.util.List io.vertx.ext.web.api.RequestParameter
      StackMap stack:
            aload 2 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            aload 8 /* parsedParam */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // io.vertx.ext.web.api.RequestParameter parsedParam
        13: .line 191
            goto 25
        14: .line 192
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " can't be empty"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateNotMatchValidationException:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 7 // java.util.List p
        15: .line 194
      StackMap locals:
      StackMap stack:
            aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.parameterTypeValidator:()Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.getDefault:()Ljava/lang/Object;
            ifnull 21
        16: .line 195
            new io.vertx.ext.web.api.impl.RequestParameterImpl
            dup
            aload 6 /* name */
            aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.parameterTypeValidator:()Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.getDefault:()Ljava/lang/Object;
            invokespecial io.vertx.ext.web.api.impl.RequestParameterImpl.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            astore 7 /* parsedParam */
        start local 7 // io.vertx.ext.web.api.RequestParameter parsedParam
        17: .line 196
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 197
            aload 7 /* parsedParam */
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameter
            invokeinterface io.vertx.ext.web.api.RequestParameter.merge:(Lio/vertx/ext/web/api/RequestParameter;)Lio/vertx/ext/web/api/RequestParameter;
            astore 7 /* parsedParam */
        19: .line 198
      StackMap locals: io.vertx.ext.web.api.RequestParameter
      StackMap stack:
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            aload 7 /* parsedParam */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // io.vertx.ext.web.api.RequestParameter parsedParam
        20: .line 199
            goto 25
      StackMap locals:
      StackMap stack:
        21: aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.isOptional:()Z
            ifne 25
        22: .line 200
            aload 6 /* name */
        23: .line 201
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.QUERY:Lio/vertx/ext/web/api/validation/ParameterLocation;
        24: .line 200
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateNotFoundValidationException:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 6 // java.lang.String name
        end local 4 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        25: .line 181
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        26: .line 203
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryAdditionalPropertiesValidator:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            ifnull 41
        27: .line 204
            aload 3 /* queryParams */
            invokeinterface io.vertx.core.MultiMap.entries:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 40
      StackMap locals:
      StackMap stack:
        28: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* e */
        start local 4 // java.util.Map$Entry e
        29: .line 206
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* r */
        start local 6 // java.util.Map r
        30: .line 207
            aload 6 /* r */
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryAdditionalPropertiesValidator:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.isValid:(Ljava/lang/String;)Lio/vertx/ext/web/api/RequestParameter;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 208
            new io.vertx.ext.web.api.impl.RequestParameterImpl
            dup
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
            aload 6 /* r */
            invokespecial io.vertx.ext.web.api.impl.RequestParameterImpl.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            astore 7 /* parsedParam */
        start local 7 // io.vertx.ext.web.api.RequestParameter parsedParam
        32: .line 209
            aload 2 /* parsedParams */
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 34
        33: .line 210
            aload 7 /* parsedParam */
            aload 2 /* parsedParams */
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameter
            invokeinterface io.vertx.ext.web.api.RequestParameter.merge:(Lio/vertx/ext/web/api/RequestParameter;)Lio/vertx/ext/web/api/RequestParameter;
            astore 7 /* parsedParam */
        34: .line 211
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap java.util.Map$Entry java.util.Iterator java.util.Map io.vertx.ext.web.api.RequestParameter
      StackMap stack:
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            aload 7 /* parsedParam */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // io.vertx.ext.web.api.RequestParameter parsedParam
        end local 6 // java.util.Map r
        35: .line 212
            goto 40
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap java.util.Map$Entry java.util.Iterator
      StackMap stack: io.vertx.ext.web.api.validation.ValidationException
        36: astore 6 /* ex */
        start local 6 // io.vertx.ext.web.api.validation.ValidationException ex
        37: .line 213
            aload 6 /* ex */
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
            invokevirtual io.vertx.ext.web.api.validation.ValidationException.setParameterName:(Ljava/lang/String;)V
        38: .line 214
            aload 4 /* e */
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface java.util.Map$Entry.setValue:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 215
            aload 6 /* ex */
            athrow
        end local 6 // io.vertx.ext.web.api.validation.ValidationException ex
        end local 4 // java.util.Map$Entry e
        40: .line 204
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        41: .line 219
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap
      StackMap stack:
            aload 2 /* parsedParams */
            areturn
        end local 3 // io.vertx.core.MultiMap queryParams
        end local 2 // java.util.Map parsedParams
        end local 1 // io.vertx.ext.web.RoutingContext routingContext
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   42     0            this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0   42     1  routingContext  Lio/vertx/ext/web/RoutingContext;
            1   42     2    parsedParams  Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
            2   42     3     queryParams  Lio/vertx/core/MultiMap;
            4   25     4            rule  Lio/vertx/ext/web/api/validation/ParameterValidationRule;
            5   25     6            name  Ljava/lang/String;
            7   15     7               p  Ljava/util/List<Ljava/lang/String;>;
           10   13     8     parsedParam  Lio/vertx/ext/web/api/RequestParameter;
           17   20     7     parsedParam  Lio/vertx/ext/web/api/RequestParameter;
           29   40     4               e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           30   35     6               r  Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
           32   35     7     parsedParam  Lio/vertx/ext/web/api/RequestParameter;
           37   40     6              ex  Lio/vertx/ext/web/api/validation/ValidationException;
      Exception table:
        from    to  target  type
          29    35      36  Class io.vertx.ext.web.api.validation.ValidationException
    Exceptions:
      throws io.vertx.ext.web.api.validation.ValidationException
    Signature: (Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
    MethodParameters:
                Name  Flags
      routingContext  

  private java.util.Map<java.lang.String, io.vertx.ext.web.api.RequestParameter> validateHeaderParams(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 224
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* parsedParams */
        start local 2 // java.util.Map parsedParams
         1: .line 225
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            invokeinterface io.vertx.core.http.HttpServerRequest.headers:()Lio/vertx/core/MultiMap;
            astore 3 /* headersParams */
        start local 3 // io.vertx.core.MultiMap headersParams
         2: .line 226
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.headerParamsRules:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 24
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.validation.ParameterValidationRule
            astore 4 /* rule */
        start local 4 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
         4: .line 227
            aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         5: .line 228
            aload 3 /* headersParams */
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.contains:(Ljava/lang/String;)Z
            ifeq 14
         6: .line 229
            aload 3 /* headersParams */
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.getAll:(Ljava/lang/String;)Ljava/util/List;
            astore 7 /* p */
        start local 7 // java.util.List p
         7: .line 230
            aload 7 /* p */
            invokeinterface java.util.List.size:()I
            ifeq 13
         8: .line 231
            aload 4 /* rule */
            aload 7 /* p */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.validateArrayParam:(Ljava/util/List;)Lio/vertx/ext/web/api/RequestParameter;
            astore 8 /* parsedParam */
        start local 8 // io.vertx.ext.web.api.RequestParameter parsedParam
         9: .line 232
            aload 2 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 233
            aload 8 /* parsedParam */
            aload 2 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameter
            invokeinterface io.vertx.ext.web.api.RequestParameter.merge:(Lio/vertx/ext/web/api/RequestParameter;)Lio/vertx/ext/web/api/RequestParameter;
            astore 8 /* parsedParam */
        11: .line 234
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap io.vertx.ext.web.api.validation.ParameterValidationRule java.util.Iterator java.lang.String java.util.List io.vertx.ext.web.api.RequestParameter
      StackMap stack:
            aload 2 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            aload 8 /* parsedParam */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // io.vertx.ext.web.api.RequestParameter parsedParam
        12: .line 235
            goto 24
        13: .line 236
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " can't be empty"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateNotMatchValidationException:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 7 // java.util.List p
        14: .line 238
      StackMap locals:
      StackMap stack:
            aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.parameterTypeValidator:()Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.getDefault:()Ljava/lang/Object;
            ifnull 20
        15: .line 239
            new io.vertx.ext.web.api.impl.RequestParameterImpl
            dup
            aload 6 /* name */
            aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.parameterTypeValidator:()Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.getDefault:()Ljava/lang/Object;
            invokespecial io.vertx.ext.web.api.impl.RequestParameterImpl.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            astore 7 /* parsedParam */
        start local 7 // io.vertx.ext.web.api.RequestParameter parsedParam
        16: .line 240
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 241
            aload 7 /* parsedParam */
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameter
            invokeinterface io.vertx.ext.web.api.RequestParameter.merge:(Lio/vertx/ext/web/api/RequestParameter;)Lio/vertx/ext/web/api/RequestParameter;
            astore 7 /* parsedParam */
        18: .line 242
      StackMap locals: io.vertx.ext.web.api.RequestParameter
      StackMap stack:
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            aload 7 /* parsedParam */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // io.vertx.ext.web.api.RequestParameter parsedParam
        19: .line 243
            goto 24
      StackMap locals:
      StackMap stack:
        20: aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.isOptional:()Z
            ifne 24
        21: .line 244
            aload 6 /* name */
        22: .line 245
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.HEADER:Lio/vertx/ext/web/api/validation/ParameterLocation;
        23: .line 244
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateNotFoundValidationException:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 6 // java.lang.String name
        end local 4 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        24: .line 226
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        25: .line 247
            aload 2 /* parsedParams */
            areturn
        end local 3 // io.vertx.core.MultiMap headersParams
        end local 2 // java.util.Map parsedParams
        end local 1 // io.vertx.ext.web.RoutingContext routingContext
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0            this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0   26     1  routingContext  Lio/vertx/ext/web/RoutingContext;
            1   26     2    parsedParams  Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
            2   26     3   headersParams  Lio/vertx/core/MultiMap;
            4   24     4            rule  Lio/vertx/ext/web/api/validation/ParameterValidationRule;
            5   24     6            name  Ljava/lang/String;
            7   14     7               p  Ljava/util/List<Ljava/lang/String;>;
            9   12     8     parsedParam  Lio/vertx/ext/web/api/RequestParameter;
           16   19     7     parsedParam  Lio/vertx/ext/web/api/RequestParameter;
    Exceptions:
      throws io.vertx.ext.web.api.validation.ValidationException
    Signature: (Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
    MethodParameters:
                Name  Flags
      routingContext  

  private java.util.Map<java.lang.String, io.vertx.ext.web.api.RequestParameter> validateFormParams(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 252
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* parsedParams */
        start local 2 // java.util.Map parsedParams
         1: .line 253
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            invokeinterface io.vertx.core.http.HttpServerRequest.formAttributes:()Lio/vertx/core/MultiMap;
            astore 3 /* formParams */
        start local 3 // io.vertx.core.MultiMap formParams
         2: .line 254
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.formParamsRules:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 24
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.validation.ParameterValidationRule
            astore 4 /* rule */
        start local 4 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
         4: .line 255
            aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         5: .line 256
            aload 3 /* formParams */
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.contains:(Ljava/lang/String;)Z
            ifeq 14
         6: .line 257
            aload 3 /* formParams */
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.getAll:(Ljava/lang/String;)Ljava/util/List;
            astore 7 /* p */
        start local 7 // java.util.List p
         7: .line 258
            aload 7 /* p */
            invokeinterface java.util.List.size:()I
            ifeq 13
         8: .line 259
            aload 4 /* rule */
            aload 7 /* p */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.validateArrayParam:(Ljava/util/List;)Lio/vertx/ext/web/api/RequestParameter;
            astore 8 /* parsedParam */
        start local 8 // io.vertx.ext.web.api.RequestParameter parsedParam
         9: .line 260
            aload 2 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 261
            aload 8 /* parsedParam */
            aload 2 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameter
            invokeinterface io.vertx.ext.web.api.RequestParameter.merge:(Lio/vertx/ext/web/api/RequestParameter;)Lio/vertx/ext/web/api/RequestParameter;
            astore 8 /* parsedParam */
        11: .line 262
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap io.vertx.ext.web.api.validation.ParameterValidationRule java.util.Iterator java.lang.String java.util.List io.vertx.ext.web.api.RequestParameter
      StackMap stack:
            aload 2 /* parsedParams */
            aload 8 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            aload 8 /* parsedParam */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // io.vertx.ext.web.api.RequestParameter parsedParam
        12: .line 263
            goto 24
        13: .line 264
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " can't be empty"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateNotMatchValidationException:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 7 // java.util.List p
        14: .line 266
      StackMap locals:
      StackMap stack:
            aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.parameterTypeValidator:()Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.getDefault:()Ljava/lang/Object;
            ifnull 20
        15: .line 267
            new io.vertx.ext.web.api.impl.RequestParameterImpl
            dup
            aload 6 /* name */
            aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.parameterTypeValidator:()Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.getDefault:()Ljava/lang/Object;
            invokespecial io.vertx.ext.web.api.impl.RequestParameterImpl.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            astore 7 /* parsedParam */
        start local 7 // io.vertx.ext.web.api.RequestParameter parsedParam
        16: .line 268
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 269
            aload 7 /* parsedParam */
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameter
            invokeinterface io.vertx.ext.web.api.RequestParameter.merge:(Lio/vertx/ext/web/api/RequestParameter;)Lio/vertx/ext/web/api/RequestParameter;
            astore 7 /* parsedParam */
        18: .line 270
      StackMap locals: io.vertx.ext.web.api.RequestParameter
      StackMap stack:
            aload 2 /* parsedParams */
            aload 7 /* parsedParam */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getName:()Ljava/lang/String;
            aload 7 /* parsedParam */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // io.vertx.ext.web.api.RequestParameter parsedParam
        19: .line 271
            goto 24
      StackMap locals:
      StackMap stack:
        20: aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.isOptional:()Z
            ifne 24
        21: .line 272
            aload 6 /* name */
        22: .line 273
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY_FORM:Lio/vertx/ext/web/api/validation/ParameterLocation;
        23: .line 272
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateNotFoundValidationException:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 6 // java.lang.String name
        end local 4 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        24: .line 254
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Map io.vertx.core.MultiMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        25: .line 275
            aload 2 /* parsedParams */
            areturn
        end local 3 // io.vertx.core.MultiMap formParams
        end local 2 // java.util.Map parsedParams
        end local 1 // io.vertx.ext.web.RoutingContext routingContext
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0            this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0   26     1  routingContext  Lio/vertx/ext/web/RoutingContext;
            1   26     2    parsedParams  Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
            2   26     3      formParams  Lio/vertx/core/MultiMap;
            4   24     4            rule  Lio/vertx/ext/web/api/validation/ParameterValidationRule;
            5   24     6            name  Ljava/lang/String;
            7   14     7               p  Ljava/util/List<Ljava/lang/String;>;
            9   12     8     parsedParam  Lio/vertx/ext/web/api/RequestParameter;
           16   19     7     parsedParam  Lio/vertx/ext/web/api/RequestParameter;
    Exceptions:
      throws io.vertx.ext.web.api.validation.ValidationException
    Signature: (Lio/vertx/ext/web/RoutingContext;)Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/RequestParameter;>;
    MethodParameters:
                Name  Flags
      routingContext  

  private boolean existFileUpload(java.util.Set<io.vertx.ext.web.FileUpload>, java.lang.String, java.util.regex.Pattern);
    descriptor: (Ljava/util/Set;Ljava/lang/String;Ljava/util/regex/Pattern;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // java.util.Set files
        start local 2 // java.lang.String name
        start local 3 // java.util.regex.Pattern contentType
         0: .line 279
            aload 1 /* files */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 3
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler java.util.Set java.lang.String java.util.regex.Pattern top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.FileUpload
            astore 4 /* f */
        start local 4 // io.vertx.ext.web.FileUpload f
         2: .line 280
            aload 4 /* f */
            invokeinterface io.vertx.ext.web.FileUpload.name:()Ljava/lang/String;
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
            aload 3 /* contentType */
            aload 4 /* f */
            invokeinterface io.vertx.ext.web.FileUpload.contentType:()Ljava/lang/String;
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 3
            iconst_1
            ireturn
        end local 4 // io.vertx.ext.web.FileUpload f
         3: .line 279
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 282
            iconst_0
            ireturn
        end local 3 // java.util.regex.Pattern contentType
        end local 2 // java.lang.String name
        end local 1 // java.util.Set files
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    5     1        files  Ljava/util/Set<Lio/vertx/ext/web/FileUpload;>;
            0    5     2         name  Ljava/lang/String;
            0    5     3  contentType  Ljava/util/regex/Pattern;
            2    3     4            f  Lio/vertx/ext/web/FileUpload;
    Signature: (Ljava/util/Set<Lio/vertx/ext/web/FileUpload;>;Ljava/lang/String;Ljava/util/regex/Pattern;)Z
    MethodParameters:
             Name  Flags
      files        
      name         
      contentType  

  private void validateFileUpload(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 286
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.fileUploads:()Ljava/util/Set;
            astore 2 /* fileUploads */
        start local 2 // java.util.Set fileUploads
         1: .line 287
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.multipartFileRules:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler io.vertx.ext.web.RoutingContext java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* expectedFile */
        start local 3 // java.util.Map$Entry expectedFile
         3: .line 288
            aload 0 /* this */
            aload 2 /* fileUploads */
            aload 3 /* expectedFile */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* expectedFile */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.regex.Pattern
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.existFileUpload:(Ljava/util/Set;Ljava/lang/String;Ljava/util/regex/Pattern;)Z
            ifne 7
         4: .line 289
            aload 3 /* expectedFile */
         5: .line 290
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* expectedFile */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.regex.Pattern
            invokevirtual java.util.regex.Pattern.toString:()Ljava/lang/String;
         6: .line 289
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateFileNotFoundValidationException:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 3 // java.util.Map$Entry expectedFile
         7: .line 287
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 292
            return
        end local 2 // java.util.Set fileUploads
        end local 1 // io.vertx.ext.web.RoutingContext routingContext
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    9     1  routingContext  Lio/vertx/ext/web/RoutingContext;
            1    9     2     fileUploads  Ljava/util/Set<Lio/vertx/ext/web/FileUpload;>;
            3    7     3    expectedFile  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/regex/Pattern;>;
    Exceptions:
      throws io.vertx.ext.web.api.validation.ValidationException
    MethodParameters:
                Name  Flags
      routingContext  

  private io.vertx.ext.web.api.RequestParameter validateEntireBody(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)Lio/vertx/ext/web/api/RequestParameter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 295
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.entireBodyValidator:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            ifnull 1
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.entireBodyValidator:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.getBodyAsString:()Ljava/lang/String;
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.isValid:(Ljava/lang/String;)Lio/vertx/ext/web/api/RequestParameter;
            areturn
         1: .line 296
      StackMap locals:
      StackMap stack:
            aconst_null
            invokestatic io.vertx.ext.web.api.RequestParameter.create:(Ljava/lang/Object;)Lio/vertx/ext/web/api/RequestParameter;
            areturn
        end local 1 // io.vertx.ext.web.RoutingContext routingContext
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    2     1  routingContext  Lio/vertx/ext/web/RoutingContext;
    Exceptions:
      throws io.vertx.ext.web.api.validation.ValidationException
    MethodParameters:
                Name  Flags
      routingContext  

  private boolean checkContentType(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // java.lang.String contentType
         0: .line 300
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyFileRules:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: io.vertx.ext.web.api.validation.impl.BaseValidationHandler java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* ct */
        start local 2 // java.lang.String ct
         2: .line 301
            aload 1 /* contentType */
            aload 2 /* ct */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 3
            iconst_1
            ireturn
        end local 2 // java.lang.String ct
         3: .line 300
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 303
            iconst_0
            ireturn
        end local 1 // java.lang.String contentType
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    5     1  contentType  Ljava/lang/String;
            2    3     2           ct  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      contentType  

  protected void addRule(io.vertx.ext.web.api.validation.ParameterValidationRule, io.vertx.ext.web.api.validation.ParameterLocation);
    descriptor: (Lio/vertx/ext/web/api/validation/ParameterValidationRule;Lio/vertx/ext/web/api/validation/ParameterLocation;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        start local 2 // io.vertx.ext.web.api.validation.ParameterLocation location
         0: .line 307
            invokestatic io.vertx.ext.web.api.validation.impl.BaseValidationHandler.$SWITCH_TABLE$io$vertx$ext$web$api$validation$ParameterLocation:()[I
            aload 2 /* location */
            invokevirtual io.vertx.ext.web.api.validation.ParameterLocation.ordinal:()I
            iaload
            tableswitch { // 1 - 9
                    1: 3
                    2: 7
                    3: 1
                    4: 10
                    5: 9
                    6: 10
                    7: 10
                    8: 10
                    9: 5
              default: 10
          }
         1: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rule */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.addPathParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
         2: .line 310
            goto 10
         3: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rule */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.addHeaderParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
         4: .line 313
            goto 10
         5: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rule */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.addCookieParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
         6: .line 316
            goto 10
         7: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rule */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.addQueryParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
         8: .line 319
            goto 10
         9: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rule */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.addFormParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
        10: .line 324
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.ext.web.api.validation.ParameterLocation location
        end local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0   11     1      rule  Lio/vertx/ext/web/api/validation/ParameterValidationRule;
            0   11     2  location  Lio/vertx/ext/web/api/validation/ParameterLocation;
    MethodParameters:
          Name  Flags
      rule      
      location  

  protected void addPathParamRule(io.vertx.ext.web.api.validation.ParameterValidationRule);
    descriptor: (Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
         0: .line 327
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.pathParamsRules:Ljava/util/Map;
            aload 1 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.pathParamsRules:Ljava/util/Map;
            aload 1 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            aload 1 /* rule */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 328
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    2     1  rule  Lio/vertx/ext/web/api/validation/ParameterValidationRule;
    MethodParameters:
      Name  Flags
      rule  

  protected void addCookieParamRule(io.vertx.ext.web.api.validation.ParameterValidationRule);
    descriptor: (Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
         0: .line 331
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieParamsRules:Ljava/util/Map;
            aload 1 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieParamsRules:Ljava/util/Map;
            aload 1 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            aload 1 /* rule */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 332
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    2     1  rule  Lio/vertx/ext/web/api/validation/ParameterValidationRule;
    MethodParameters:
      Name  Flags
      rule  

  protected void addQueryParamRule(io.vertx.ext.web.api.validation.ParameterValidationRule);
    descriptor: (Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
         0: .line 335
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryParamsRules:Ljava/util/Map;
            aload 1 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryParamsRules:Ljava/util/Map;
            aload 1 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            aload 1 /* rule */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 336
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    2     1  rule  Lio/vertx/ext/web/api/validation/ParameterValidationRule;
    MethodParameters:
      Name  Flags
      rule  

  protected void addFormParamRule(io.vertx.ext.web.api.validation.ParameterValidationRule);
    descriptor: (Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
         0: .line 339
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.formParamsRules:Ljava/util/Map;
            aload 1 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 340
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.formParamsRules:Ljava/util/Map;
            aload 1 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            aload 1 /* rule */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
         3: .line 342
            return
        end local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    4     1  rule  Lio/vertx/ext/web/api/validation/ParameterValidationRule;
    MethodParameters:
      Name  Flags
      rule  

  protected void addHeaderParamRule(io.vertx.ext.web.api.validation.ParameterValidationRule);
    descriptor: (Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
         0: .line 345
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.headerParamsRules:Ljava/util/Map;
            aload 1 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.headerParamsRules:Ljava/util/Map;
            aload 1 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.getName:()Ljava/lang/String;
            aload 1 /* rule */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 346
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.ext.web.api.validation.ParameterValidationRule rule
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    2     1  rule  Lio/vertx/ext/web/api/validation/ParameterValidationRule;
    MethodParameters:
      Name  Flags
      rule  

  protected void addCustomValidator(io.vertx.ext.web.api.validation.CustomValidator);
    descriptor: (Lio/vertx/ext/web/api/validation/CustomValidator;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.api.validation.CustomValidator customValidator
         0: .line 349
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.customValidators:Ljava/util/List;
            aload 1 /* customValidator */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 350
            return
        end local 1 // io.vertx.ext.web.api.validation.CustomValidator customValidator
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    2     1  customValidator  Lio/vertx/ext/web/api/validation/CustomValidator;
    MethodParameters:
                 Name  Flags
      customValidator  

  protected void addMultipartFileRule(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // java.lang.String formName
        start local 2 // java.lang.String contentType
         0: .line 353
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.multipartFileRules:Ljava/util/Map;
            aload 1 /* formName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.multipartFileRules:Ljava/util/Map;
            aload 1 /* formName */
            aload 2 /* contentType */
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
         2: .line 355
            return
        end local 2 // java.lang.String contentType
        end local 1 // java.lang.String formName
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    3     1     formName  Ljava/lang/String;
            0    3     2  contentType  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      formName     
      contentType  

  protected void addBodyFileRule(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // java.lang.String contentType
         0: .line 358
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyFileRules:Ljava/util/List;
            aload 1 /* contentType */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 359
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
         2: .line 360
            return
        end local 1 // java.lang.String contentType
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    3     1  contentType  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      contentType  

  protected void setEntireBodyValidator(io.vertx.ext.web.api.validation.ParameterTypeValidator);
    descriptor: (Lio/vertx/ext/web/api/validation/ParameterTypeValidator;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.api.validation.ParameterTypeValidator entireBodyValidator
         0: .line 363
            aload 0 /* this */
            aload 1 /* entireBodyValidator */
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.entireBodyValidator:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
         1: .line 364
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
         2: .line 365
            return
        end local 1 // io.vertx.ext.web.api.validation.ParameterTypeValidator entireBodyValidator
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    3     1  entireBodyValidator  Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    MethodParameters:
                     Name  Flags
      entireBodyValidator  

  protected void setCookieAdditionalPropertyHandler(io.vertx.ext.web.api.validation.ParameterTypeValidator, java.lang.String);
    descriptor: (Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.api.validation.ParameterTypeValidator validator
        start local 2 // java.lang.String objectParameterName
         0: .line 368
            aload 0 /* this */
            aload 1 /* validator */
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieAdditionalPropertiesValidator:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
         1: .line 369
            aload 0 /* this */
            aload 2 /* objectParameterName */
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
         2: .line 370
            return
        end local 2 // java.lang.String objectParameterName
        end local 1 // io.vertx.ext.web.api.validation.ParameterTypeValidator validator
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    3     1            validator  Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            0    3     2  objectParameterName  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      validator            
      objectParameterName  

  protected void setQueryAdditionalPropertyHandler(io.vertx.ext.web.api.validation.ParameterTypeValidator, java.lang.String);
    descriptor: (Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
        start local 1 // io.vertx.ext.web.api.validation.ParameterTypeValidator validator
        start local 2 // java.lang.String objectParameterName
         0: .line 372
            aload 0 /* this */
            aload 1 /* validator */
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryAdditionalPropertiesValidator:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
         1: .line 373
            aload 0 /* this */
            aload 2 /* objectParameterName */
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
         2: .line 374
            return
        end local 2 // java.lang.String objectParameterName
        end local 1 // io.vertx.ext.web.api.validation.ParameterTypeValidator validator
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;
            0    3     1            validator  Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            0    3     2  objectParameterName  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      validator            
      objectParameterName  

  public boolean isBodyRequired();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
         0: .line 377
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
            ireturn
        end local 0 // io.vertx.ext.web.api.validation.impl.BaseValidationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/api/validation/impl/BaseValidationHandler;

  public void handle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.ext.web.RoutingContext
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.handle:(Lio/vertx/ext/web/RoutingContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$io$vertx$ext$web$api$validation$ParameterLocation();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 20
            getstatic io.vertx.ext.web.api.validation.impl.BaseValidationHandler.$SWITCH_TABLE$io$vertx$ext$web$api$validation$ParameterLocation:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.vertx.ext.web.api.validation.ParameterLocation.values:()[Lio/vertx/ext/web/api/validation/ParameterLocation;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY:Lio/vertx/ext/web/api/validation/ParameterLocation;
            invokevirtual io.vertx.ext.web.api.validation.ParameterLocation.ordinal:()I
            bipush 6
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY_FORM:Lio/vertx/ext/web/api/validation/ParameterLocation;
            invokevirtual io.vertx.ext.web.api.validation.ParameterLocation.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY_JSON:Lio/vertx/ext/web/api/validation/ParameterLocation;
            invokevirtual io.vertx.ext.web.api.validation.ParameterLocation.ordinal:()I
            bipush 7
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY_XML:Lio/vertx/ext/web/api/validation/ParameterLocation;
            invokevirtual io.vertx.ext.web.api.validation.ParameterLocation.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.COOKIE:Lio/vertx/ext/web/api/validation/ParameterLocation;
            invokevirtual io.vertx.ext.web.api.validation.ParameterLocation.ordinal:()I
            bipush 9
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.FILE:Lio/vertx/ext/web/api/validation/ParameterLocation;
            invokevirtual io.vertx.ext.web.api.validation.ParameterLocation.ordinal:()I
            iconst_4
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.HEADER:Lio/vertx/ext/web/api/validation/ParameterLocation;
            invokevirtual io.vertx.ext.web.api.validation.ParameterLocation.ordinal:()I
            iconst_1
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.PATH:Lio/vertx/ext/web/api/validation/ParameterLocation;
            invokevirtual io.vertx.ext.web.api.validation.ParameterLocation.ordinal:()I
            iconst_3
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.QUERY:Lio/vertx/ext/web/api/validation/ParameterLocation;
            invokevirtual io.vertx.ext.web.api.validation.ParameterLocation.ordinal:()I
            iconst_2
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            dup
            putstatic io.vertx.ext.web.api.validation.impl.BaseValidationHandler.$SWITCH_TABLE$io$vertx$ext$web$api$validation$ParameterLocation:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
}
SourceFile: "BaseValidationHandler.java"
InnerClasses:
  public ValidationExceptionFactory = io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory of io.vertx.ext.web.api.validation.ValidationException
  public abstract Entry = java.util.Map$Entry of java.util.Map