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 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .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.pathParamsRules:Ljava/util/Map;
         2: .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.cookieParamsRules:Ljava/util/Map;
         3: .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.formParamsRules:Ljava/util/Map;
         4: .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.queryParamsRules:Ljava/util/Map;
         5: .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.headerParamsRules:Ljava/util/Map;
         6: .line 46
            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 47
            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 48
            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 50
            aload 0 /* this */
            iconst_0
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
        10: .line 51
            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 56
            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 58
            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 59
            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 60
            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 61
            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 64
            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 65
            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 64
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 68
            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 69
            aload 3 /* contentType */
            ifnull 28
            aload 3 /* contentType */
            invokevirtual java.lang.String.length:()I
            ifeq 28
        11: .line 70
            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 72
            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 73
            aload 3 /* contentType */
        14: .line 74
            ldc "multipart/form-data"
        15: .line 73
            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 76
      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 77
            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 78
            goto 30
      StackMap locals:
      StackMap stack:
        19: iload 4 /* isMultipart */
            ifeq 23
        20: .line 79
            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 80
            aload 0 /* this */
            aload 1 /* routingContext */
            invokevirtual io.vertx.ext.web.api.validation.impl.BaseValidationHandler.validateFileUpload:(Lio/vertx/ext/web/RoutingContext;)V
        22: .line 81
            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 82
      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 83
            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 84
            aload 3 /* contentType */
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateWrongContentTypeExpected:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        end local 4 // boolean isMultipart
        28: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
            ifeq 30
        29: .line 87
            aload 3 /* contentType */
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateWrongContentTypeExpected:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
        30: .line 90
      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 91
            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 92
            goto 34
        33: .line 93
      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 95
      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 97
            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 98
            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 100
      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 104
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* parsedParams */
        start local 2 // java.util.Map parsedParams
         1: .line 105
            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 106
            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 107
            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 108
            aload 3 /* pathParams */
            aload 6 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 12
         6: .line 109
            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 110
      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 111
            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 112
            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 113
      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 115
            goto 15
        12: .line 116
      StackMap locals:
      StackMap stack:
            aload 6 /* name */
        13: .line 117
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.PATH:Lio/vertx/ext/web/api/validation/ParameterLocation;
        14: .line 116
            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 106
      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 119
            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 124
            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 125
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            areturn
         2: .line 126
      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 127
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* cookies */
        start local 3 // java.util.Map cookies
         4: .line 128
            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 129
            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 130
            aload 3 /* cookies */
            aload 6 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 131
            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 133
      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 128
      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 135
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* parsedParams */
        start local 4 // java.util.Map parsedParams
        12: .line 136
            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 137
            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 138
            aload 3 /* cookies */
            aload 7 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 24
        16: .line 139
            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 140
            aload 8 /* p */
            invokeinterface java.util.List.size:()I
            ifeq 23
        18: .line 141
            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 142
            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 143
            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 144
      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 145
            goto 34
        23: .line 146
      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 149
      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 150
            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 151
            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 152
            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 153
      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 154
            goto 34
      StackMap locals:
      StackMap stack:
        30: aload 5 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.isOptional:()Z
            ifne 34
        31: .line 155
            aload 7 /* name */
        32: .line 156
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.COOKIE:Lio/vertx/ext/web/api/validation/ParameterLocation;
        33: .line 155
            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 136
      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 159
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieAdditionalPropertiesValidator:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            ifnull 50
        36: .line 160
            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 162
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 7 /* r */
        start local 7 // java.util.Map r
        39: .line 163
            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 164
            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 165
            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 166
            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 167
      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 168
            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 169
            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 170
            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 171
            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 160
      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 175
      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 180
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* parsedParams */
        start local 2 // java.util.Map parsedParams
         1: .line 181
            new io.vertx.core.http.CaseInsensitiveHeaders
            dup
            invokespecial io.vertx.core.http.CaseInsensitiveHeaders.<init>:()V
            aload 1 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.queryParams:()Lio/vertx/core/MultiMap;
            invokevirtual io.vertx.core.http.CaseInsensitiveHeaders.addAll:(Lio/vertx/core/MultiMap;)Lio/vertx/core/MultiMap;
            astore 3 /* queryParams */
        start local 3 // io.vertx.core.MultiMap queryParams
         2: .line 182
            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 183
            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 184
            aload 3 /* queryParams */
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.contains:(Ljava/lang/String;)Z
            ifeq 15
         6: .line 185
            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 186
            aload 3 /* queryParams */
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.remove:(Ljava/lang/String;)Lio/vertx/core/MultiMap;
            pop
         8: .line 187
            aload 7 /* p */
            invokeinterface java.util.List.size:()I
            ifeq 14
         9: .line 188
            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 189
            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 190
            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 191
      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 192
            goto 25
        14: .line 193
      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 195
      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 196
            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 197
            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 198
            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 199
      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 200
            goto 25
      StackMap locals:
      StackMap stack:
        21: aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.isOptional:()Z
            ifne 25
        22: .line 201
            aload 6 /* name */
        23: .line 202
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.QUERY:Lio/vertx/ext/web/api/validation/ParameterLocation;
        24: .line 201
            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 182
      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 204
            aload 0 /* this */
            getfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryAdditionalPropertiesValidator:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            ifnull 41
        27: .line 205
            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 207
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* r */
        start local 6 // java.util.Map r
        30: .line 208
            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 209
            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 210
            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 211
            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 212
      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 213
            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 214
            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 215
            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 216
            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 205
      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 220
      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 225
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* parsedParams */
        start local 2 // java.util.Map parsedParams
         1: .line 226
            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 227
            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 228
            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 229
            aload 3 /* headersParams */
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.contains:(Ljava/lang/String;)Z
            ifeq 14
         6: .line 230
            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 231
            aload 7 /* p */
            invokeinterface java.util.List.size:()I
            ifeq 13
         8: .line 232
            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 233
            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 234
            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 235
      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 236
            goto 24
        13: .line 237
      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 239
      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 240
            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 241
            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 242
            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 243
      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 244
            goto 24
      StackMap locals:
      StackMap stack:
        20: aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.isOptional:()Z
            ifne 24
        21: .line 245
            aload 6 /* name */
        22: .line 246
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.HEADER:Lio/vertx/ext/web/api/validation/ParameterLocation;
        23: .line 245
            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 227
      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 248
            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 253
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* parsedParams */
        start local 2 // java.util.Map parsedParams
         1: .line 254
            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 255
            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 256
            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 257
            aload 3 /* formParams */
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.contains:(Ljava/lang/String;)Z
            ifeq 14
         6: .line 258
            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 259
            aload 7 /* p */
            invokeinterface java.util.List.size:()I
            ifeq 13
         8: .line 260
            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 261
            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 262
            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 263
      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 264
            goto 24
        13: .line 265
      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 267
      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 268
            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 269
            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 270
            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 271
      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 272
            goto 24
      StackMap locals:
      StackMap stack:
        20: aload 4 /* rule */
            invokeinterface io.vertx.ext.web.api.validation.ParameterValidationRule.isOptional:()Z
            ifne 24
        21: .line 273
            aload 6 /* name */
        22: .line 274
            getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY_FORM:Lio/vertx/ext/web/api/validation/ParameterLocation;
        23: .line 273
            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 255
      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 276
            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 280
            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 281
            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 280
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 283
            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 287
            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 288
            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 289
            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 290
            aload 3 /* expectedFile */
         5: .line 291
            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 290
            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 288
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 293
            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 296
            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 297
      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 301
            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 302
            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 301
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 304
            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 308
            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 310
      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 311
            goto 10
         3: .line 313
      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 314
            goto 10
         5: .line 316
      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 317
            goto 10
         7: .line 319
      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 320
            goto 10
         9: .line 322
      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 325
      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 328
            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 329
      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 332
            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 333
      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 336
            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 337
      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 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;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 341
            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 342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
         3: .line 343
            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 346
            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 347
      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 350
            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 351
            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 354
            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 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
         2: .line 356
            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 359
            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 360
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
         2: .line 361
            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 364
            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 365
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.bodyRequired:Z
         2: .line 366
            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 369
            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 370
            aload 0 /* this */
            aload 2 /* objectParameterName */
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.cookieAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
         2: .line 371
            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 373
            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 374
            aload 0 /* this */
            aload 2 /* objectParameterName */
            putfield io.vertx.ext.web.api.validation.impl.BaseValidationHandler.queryAdditionalPropertiesObjectPropertyName:Ljava/lang/String;
         2: .line 375
            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 378
            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 21
            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