public class examples.OpenAPI3Examples
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: examples.OpenAPI3Examples
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // examples.OpenAPI3Examples this
         0: .line 24
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // examples.OpenAPI3Examples this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lexamples/OpenAPI3Examples;

  public void constructRouterFactory(io.vertx.core.Vertx);
    descriptor: (Lio/vertx/core/Vertx;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // examples.OpenAPI3Examples this
        start local 1 // io.vertx.core.Vertx vertx
         0: .line 27
            aload 1 /* vertx */
            ldc "src/main/resources/petstore.yaml"
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/OpenAPI3Examples.lambda$0(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokestatic io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.create:(Lio/vertx/core/Vertx;Ljava/lang/String;Lio/vertx/core/Handler;)V
         1: .line 36
            return
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.OpenAPI3Examples this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lexamples/OpenAPI3Examples;
            0    2     1  vertx  Lio/vertx/core/Vertx;
    MethodParameters:
       Name  Flags
      vertx  

  public void constructRouterFactoryFromUrl(io.vertx.core.Vertx);
    descriptor: (Lio/vertx/core/Vertx;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // examples.OpenAPI3Examples this
        start local 1 // io.vertx.core.Vertx vertx
         0: .line 40
            aload 1 /* vertx */
         1: .line 41
            ldc "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml"
         2: .line 42
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/OpenAPI3Examples.lambda$1(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
         3: .line 39
            invokestatic io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.create:(Lio/vertx/core/Vertx;Ljava/lang/String;Lio/vertx/core/Handler;)V
         4: .line 51
            return
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.OpenAPI3Examples this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lexamples/OpenAPI3Examples;
            0    5     1  vertx  Lio/vertx/core/Vertx;
    MethodParameters:
       Name  Flags
      vertx  

  public void constructRouterFactoryFromUrlWithAuthenticationHeader(io.vertx.core.Vertx);
    descriptor: (Lio/vertx/core/Vertx;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // examples.OpenAPI3Examples this
        start local 1 // io.vertx.core.Vertx vertx
         0: .line 54
            new io.swagger.v3.parser.core.models.AuthorizationValue
            dup
            invokespecial io.swagger.v3.parser.core.models.AuthorizationValue.<init>:()V
         1: .line 55
            ldc "header"
            invokevirtual io.swagger.v3.parser.core.models.AuthorizationValue.type:(Ljava/lang/String;)Lio/swagger/v3/parser/core/models/AuthorizationValue;
         2: .line 56
            ldc "Authorization"
            invokevirtual io.swagger.v3.parser.core.models.AuthorizationValue.keyName:(Ljava/lang/String;)Lio/swagger/v3/parser/core/models/AuthorizationValue;
         3: .line 57
            ldc "Bearer xx.yy.zz"
            invokevirtual io.swagger.v3.parser.core.models.AuthorizationValue.value:(Ljava/lang/String;)Lio/swagger/v3/parser/core/models/AuthorizationValue;
         4: .line 54
            astore 2 /* authorizationValue */
        start local 2 // io.swagger.v3.parser.core.models.AuthorizationValue authorizationValue
         5: .line 58
            aload 2 /* authorizationValue */
            invokestatic io.vertx.core.json.JsonObject.mapFrom:(Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 3 /* authorizations */
        start local 3 // java.util.List authorizations
         6: .line 60
            aload 1 /* vertx */
         7: .line 61
            ldc "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml"
         8: .line 62
            aload 3 /* authorizations */
         9: .line 63
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/OpenAPI3Examples.lambda$2(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
        10: .line 59
            invokestatic io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.create:(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/List;Lio/vertx/core/Handler;)V
        11: .line 72
            return
        end local 3 // java.util.List authorizations
        end local 2 // io.swagger.v3.parser.core.models.AuthorizationValue authorizationValue
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.OpenAPI3Examples this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Lexamples/OpenAPI3Examples;
            0   12     1               vertx  Lio/vertx/core/Vertx;
            5   12     2  authorizationValue  Lio/swagger/v3/parser/core/models/AuthorizationValue;
            6   12     3      authorizations  Ljava/util/List<Lio/vertx/core/json/JsonObject;>;
    MethodParameters:
       Name  Flags
      vertx  

  public void addRoute(io.vertx.core.Vertx, io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // examples.OpenAPI3Examples this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
         0: .line 75
            aload 2 /* routerFactory */
            ldc "awesomeOperation"
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/OpenAPI3Examples.lambda$3(Lio/vertx/ext/web/RoutingContext;)V (6)
                  (Lio/vertx/ext/web/RoutingContext;)V
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.addHandlerByOperationId:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;
            pop
         1: .line 81
            aload 2 /* routerFactory */
            ldc "awesomeOperation"
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/OpenAPI3Examples.lambda$4(Lio/vertx/ext/web/RoutingContext;)V (6)
                  (Lio/vertx/ext/web/RoutingContext;)V
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.addFailureHandlerByOperationId:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;
            pop
         2: .line 84
            return
        end local 2 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.OpenAPI3Examples this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lexamples/OpenAPI3Examples;
            0    3     1          vertx  Lio/vertx/core/Vertx;
            0    3     2  routerFactory  Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;
    MethodParameters:
               Name  Flags
      vertx          
      routerFactory  

  public void addSecurityHandler(io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory, io.vertx.core.Handler);
    descriptor: (Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // examples.OpenAPI3Examples this
        start local 1 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
        start local 2 // io.vertx.core.Handler securityHandler
         0: .line 87
            aload 1 /* routerFactory */
            ldc "security_scheme_name"
            aload 2 /* securityHandler */
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.addSecurityHandler:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/web/api/contract/RouterFactory;
            pop
         1: .line 88
            return
        end local 2 // io.vertx.core.Handler securityHandler
        end local 1 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
        end local 0 // examples.OpenAPI3Examples this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lexamples/OpenAPI3Examples;
            0    2     1    routerFactory  Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;
            0    2     2  securityHandler  Lio/vertx/core/Handler;
    MethodParameters:
                 Name  Flags
      routerFactory    
      securityHandler  

  public void addJWT(io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory, io.vertx.ext.auth.jwt.JWTAuth);
    descriptor: (Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;Lio/vertx/ext/auth/jwt/JWTAuth;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // examples.OpenAPI3Examples this
        start local 1 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
        start local 2 // io.vertx.ext.auth.jwt.JWTAuth jwtAuthProvider
         0: .line 91
            aload 1 /* routerFactory */
            ldc "jwt_auth"
            aload 2 /* jwtAuthProvider */
            invokestatic io.vertx.ext.web.handler.JWTAuthHandler.create:(Lio/vertx/ext/auth/jwt/JWTAuth;)Lio/vertx/ext/web/handler/JWTAuthHandler;
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.addSecurityHandler:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/web/api/contract/RouterFactory;
            pop
         1: .line 92
            return
        end local 2 // io.vertx.ext.auth.jwt.JWTAuth jwtAuthProvider
        end local 1 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
        end local 0 // examples.OpenAPI3Examples this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lexamples/OpenAPI3Examples;
            0    2     1    routerFactory  Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;
            0    2     2  jwtAuthProvider  Lio/vertx/ext/auth/jwt/JWTAuth;
    MethodParameters:
                 Name  Flags
      routerFactory    
      jwtAuthProvider  

  public void addOperationModelKey(io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory, io.vertx.ext.web.api.contract.RouterFactoryOptions);
    descriptor: (Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;Lio/vertx/ext/web/api/contract/RouterFactoryOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // examples.OpenAPI3Examples this
        start local 1 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
        start local 2 // io.vertx.ext.web.api.contract.RouterFactoryOptions options
         0: .line 96
            aload 2 /* options */
            ldc "operationPOJO"
            invokevirtual io.vertx.ext.web.api.contract.RouterFactoryOptions.setOperationModelKey:(Ljava/lang/String;)Lio/vertx/ext/web/api/contract/RouterFactoryOptions;
            pop
         1: .line 97
            aload 1 /* routerFactory */
            aload 2 /* options */
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.setOptions:(Lio/vertx/ext/web/api/contract/RouterFactoryOptions;)Lio/vertx/ext/web/api/contract/RouterFactory;
            pop
         2: .line 100
            aload 1 /* routerFactory */
            ldc "listPets"
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/OpenAPI3Examples.lambda$5(Lio/vertx/ext/web/RoutingContext;)V (6)
                  (Lio/vertx/ext/web/RoutingContext;)V
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.addHandlerByOperationId:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;
            pop
         3: .line 110
            return
        end local 2 // io.vertx.ext.web.api.contract.RouterFactoryOptions options
        end local 1 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
        end local 0 // examples.OpenAPI3Examples this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lexamples/OpenAPI3Examples;
            0    4     1  routerFactory  Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;
            0    4     2        options  Lio/vertx/ext/web/api/contract/RouterFactoryOptions;
    MethodParameters:
               Name  Flags
      routerFactory  
      options        

  public void generateRouter(io.vertx.core.Vertx, io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // examples.OpenAPI3Examples this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
         0: .line 113
            aload 2 /* routerFactory */
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.getRouter:()Lio/vertx/ext/web/Router;
            astore 3 /* router */
        start local 3 // io.vertx.ext.web.Router router
         1: .line 115
            aload 1 /* vertx */
            new io.vertx.core.http.HttpServerOptions
            dup
            invokespecial io.vertx.core.http.HttpServerOptions.<init>:()V
            sipush 8080
            invokevirtual io.vertx.core.http.HttpServerOptions.setPort:(I)Lio/vertx/core/http/HttpServerOptions;
            ldc "localhost"
            invokevirtual io.vertx.core.http.HttpServerOptions.setHost:(Ljava/lang/String;)Lio/vertx/core/http/HttpServerOptions;
            invokeinterface io.vertx.core.Vertx.createHttpServer:(Lio/vertx/core/http/HttpServerOptions;)Lio/vertx/core/http/HttpServer;
            astore 4 /* server */
        start local 4 // io.vertx.core.http.HttpServer server
         2: .line 116
            aload 4 /* server */
            aload 3 /* router */
            invokeinterface io.vertx.core.http.HttpServer.requestHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServer;
            invokeinterface io.vertx.core.http.HttpServer.listen:()Lio/vertx/core/http/HttpServer;
            pop
         3: .line 117
            return
        end local 4 // io.vertx.core.http.HttpServer server
        end local 3 // io.vertx.ext.web.Router router
        end local 2 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.OpenAPI3Examples this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lexamples/OpenAPI3Examples;
            0    4     1          vertx  Lio/vertx/core/Vertx;
            0    4     2  routerFactory  Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;
            1    4     3         router  Lio/vertx/ext/web/Router;
            2    4     4         server  Lio/vertx/core/http/HttpServer;
    MethodParameters:
               Name  Flags
      vertx          
      routerFactory  

  public void mainExample(io.vertx.core.Vertx);
    descriptor: (Lio/vertx/core/Vertx;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // examples.OpenAPI3Examples this
        start local 1 // io.vertx.core.Vertx vertx
         0: .line 121
            aload 1 /* vertx */
            ldc "src/main/resources/petstore.yaml"
         1: .line 122
            aload 1 /* vertx */
            invokedynamic handle(Lio/vertx/core/Vertx;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/OpenAPI3Examples.lambda$6(Lio/vertx/core/Vertx;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
         2: .line 121
            invokestatic io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.create:(Lio/vertx/core/Vertx;Ljava/lang/String;Lio/vertx/core/Handler;)V
         3: .line 163
            return
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.OpenAPI3Examples this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lexamples/OpenAPI3Examples;
            0    4     1  vertx  Lio/vertx/core/Vertx;
    MethodParameters:
       Name  Flags
      vertx  

  private static void lambda$0(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult ar
         0: .line 28
            aload 0 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 30
            aload 0 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory
            pop
         2: .line 31
            goto 4
         3: .line 33
      StackMap locals:
      StackMap stack:
            aload 0 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            pop
         4: .line 35
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ar  Lio/vertx/core/AsyncResult<Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;>;

  private static void lambda$1(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult ar
         0: .line 43
            aload 0 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 45
            aload 0 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory
            pop
         2: .line 46
            goto 4
         3: .line 48
      StackMap locals:
      StackMap stack:
            aload 0 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            pop
         4: .line 50
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ar  Lio/vertx/core/AsyncResult<Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;>;

  private static void lambda$2(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult ar
         0: .line 64
            aload 0 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 66
            aload 0 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory
            pop
         2: .line 67
            goto 4
         3: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            pop
         4: .line 71
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ar  Lio/vertx/core/AsyncResult<Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;>;

  private static void lambda$3(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 76
            aload 0 /* routingContext */
            ldc "parsedParameters"
            invokeinterface io.vertx.ext.web.RoutingContext.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.RequestParameters
            astore 1 /* params */
        start local 1 // io.vertx.ext.web.api.RequestParameters params
         1: .line 77
            aload 1 /* params */
            invokeinterface io.vertx.ext.web.api.RequestParameters.body:()Lio/vertx/ext/web/api/RequestParameter;
            astore 2 /* body */
        start local 2 // io.vertx.ext.web.api.RequestParameter body
         2: .line 78
            aload 2 /* body */
            invokeinterface io.vertx.ext.web.api.RequestParameter.getJsonObject:()Lio/vertx/core/json/JsonObject;
            pop
        end local 2 // io.vertx.ext.web.api.RequestParameter body
        end local 1 // io.vertx.ext.web.api.RequestParameters params
         3: .line 80
            return
        end local 0 // io.vertx.ext.web.RoutingContext routingContext
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0  routingContext  Lio/vertx/ext/web/RoutingContext;
            1    3     1          params  Lio/vertx/ext/web/api/RequestParameters;
            2    3     2            body  Lio/vertx/ext/web/api/RequestParameter;

  private static void lambda$4(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 83
            return
        end local 0 // io.vertx.ext.web.RoutingContext routingContext
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  routingContext  Lio/vertx/ext/web/RoutingContext;

  private static void lambda$5(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 101
            aload 0 /* routingContext */
            ldc "operationPOJO"
            invokeinterface io.vertx.ext.web.RoutingContext.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.swagger.v3.oas.models.Operation
            astore 1 /* operation */
        start local 1 // io.swagger.v3.oas.models.Operation operation
         1: .line 103
            aload 0 /* routingContext */
         2: .line 104
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
         3: .line 105
            sipush 200
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
         4: .line 106
            ldc "OK"
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusMessage:(Ljava/lang/String;)Lio/vertx/core/http/HttpServerResponse;
         5: .line 108
            aload 1 /* operation */
            invokevirtual io.swagger.v3.oas.models.Operation.getOperationId:()Ljava/lang/String;
            invokeinterface io.vertx.core.http.HttpServerResponse.end:(Ljava/lang/String;)V
        end local 1 // io.swagger.v3.oas.models.Operation operation
         6: .line 109
            return
        end local 0 // io.vertx.ext.web.RoutingContext routingContext
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0  routingContext  Lio/vertx/ext/web/RoutingContext;
            1    6     1       operation  Lio/swagger/v3/oas/models/Operation;

  private static void lambda$6(io.vertx.core.Vertx, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=6, args_size=2
        start local 1 // io.vertx.core.AsyncResult openAPI3RouterFactoryAsyncResult
         0: .line 123
            aload 1 /* openAPI3RouterFactoryAsyncResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 13
         1: .line 125
            aload 1 /* openAPI3RouterFactoryAsyncResult */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory
            astore 2 /* routerFactory */
        start local 2 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
         2: .line 128
            new io.vertx.ext.web.api.contract.RouterFactoryOptions
            dup
            invokespecial io.vertx.ext.web.api.contract.RouterFactoryOptions.<init>:()V
         3: .line 129
            iconst_0
            invokevirtual io.vertx.ext.web.api.contract.RouterFactoryOptions.setMountValidationFailureHandler:(Z)Lio/vertx/ext/web/api/contract/RouterFactoryOptions;
         4: .line 128
            astore 3 /* options */
        start local 3 // io.vertx.ext.web.api.contract.RouterFactoryOptions options
         5: .line 131
            aload 2 /* routerFactory */
            aload 3 /* options */
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.setOptions:(Lio/vertx/ext/web/api/contract/RouterFactoryOptions;)Lio/vertx/ext/web/api/contract/RouterFactory;
            pop
         6: .line 133
            aload 2 /* routerFactory */
            ldc "listPets"
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/OpenAPI3Examples.lambda$7(Lio/vertx/ext/web/RoutingContext;)V (6)
                  (Lio/vertx/ext/web/RoutingContext;)V
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.addHandlerByOperationId:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;
            pop
         7: .line 138
            aload 2 /* routerFactory */
            ldc "listPets"
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/OpenAPI3Examples.lambda$8(Lio/vertx/ext/web/RoutingContext;)V (6)
                  (Lio/vertx/ext/web/RoutingContext;)V
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.addFailureHandlerByOperationId:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;
            pop
         8: .line 149
            aload 2 /* routerFactory */
            ldc "api_key"
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/web/RoutingContext.next()V (9 itf)
                  (Lio/vertx/ext/web/RoutingContext;)V
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.addSecurityHandler:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/web/api/contract/RouterFactory;
            pop
         9: .line 152
            aload 2 /* routerFactory */
            invokeinterface io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.getRouter:()Lio/vertx/ext/web/Router;
            astore 4 /* router */
        start local 4 // io.vertx.ext.web.Router router
        10: .line 155
            aload 0
            new io.vertx.core.http.HttpServerOptions
            dup
            invokespecial io.vertx.core.http.HttpServerOptions.<init>:()V
            sipush 8080
            invokevirtual io.vertx.core.http.HttpServerOptions.setPort:(I)Lio/vertx/core/http/HttpServerOptions;
            ldc "localhost"
            invokevirtual io.vertx.core.http.HttpServerOptions.setHost:(Ljava/lang/String;)Lio/vertx/core/http/HttpServerOptions;
            invokeinterface io.vertx.core.Vertx.createHttpServer:(Lio/vertx/core/http/HttpServerOptions;)Lio/vertx/core/http/HttpServer;
            astore 5 /* server */
        start local 5 // io.vertx.core.http.HttpServer server
        11: .line 156
            aload 5 /* server */
            aload 4 /* router */
            invokeinterface io.vertx.core.http.HttpServer.requestHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServer;
            invokeinterface io.vertx.core.http.HttpServer.listen:()Lio/vertx/core/http/HttpServer;
            pop
        end local 5 // io.vertx.core.http.HttpServer server
        end local 4 // io.vertx.ext.web.Router router
        end local 3 // io.vertx.ext.web.api.contract.RouterFactoryOptions options
        end local 2 // io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory routerFactory
        12: .line 158
            goto 14
        13: .line 160
      StackMap locals:
      StackMap stack:
            aload 1 /* openAPI3RouterFactoryAsyncResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            pop
        14: .line 162
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult openAPI3RouterFactoryAsyncResult
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0   15     1  openAPI3RouterFactoryAsyncResult  Lio/vertx/core/AsyncResult<Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;>;
            2   12     2                     routerFactory  Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RouterFactory;
            5   12     3                           options  Lio/vertx/ext/web/api/contract/RouterFactoryOptions;
           10   12     4                            router  Lio/vertx/ext/web/Router;
           11   12     5                            server  Lio/vertx/core/http/HttpServer;

  private static void lambda$7(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 135
            aload 0 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            ldc "Called listPets"
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusMessage:(Ljava/lang/String;)Lio/vertx/core/http/HttpServerResponse;
            invokeinterface io.vertx.core.http.HttpServerResponse.end:()V
         1: .line 136
            return
        end local 0 // io.vertx.ext.web.RoutingContext routingContext
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0  routingContext  Lio/vertx/ext/web/RoutingContext;

  private static void lambda$8(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 140
            aload 0 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.failure:()Ljava/lang/Throwable;
            astore 1 /* failure */
        start local 1 // java.lang.Throwable failure
         1: .line 141
            aload 1 /* failure */
            instanceof io.vertx.ext.web.api.validation.ValidationException
            ifeq 8
         2: .line 143
            aload 0 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            sipush 400
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
            new java.lang.StringBuilder
            dup
            ldc "ValidationException thrown! "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 144
            aload 1 /* failure */
         4: .line 143
            checkcast io.vertx.ext.web.api.validation.ValidationException
         5: .line 144
            invokevirtual io.vertx.ext.web.api.validation.ValidationException.type:()Lio/vertx/ext/web/api/validation/ValidationException$ErrorType;
            invokevirtual io.vertx.ext.web.api.validation.ValidationException$ErrorType.name:()Ljava/lang/String;
         6: .line 143
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusMessage:(Ljava/lang/String;)Lio/vertx/core/http/HttpServerResponse;
         7: .line 144
            invokeinterface io.vertx.core.http.HttpServerResponse.end:()V
        end local 1 // java.lang.Throwable failure
         8: .line 145
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.ext.web.RoutingContext routingContext
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0  routingContext  Lio/vertx/ext/web/RoutingContext;
            1    8     1         failure  Ljava/lang/Throwable;
}
SourceFile: "OpenAPI3Examples.java"
InnerClasses:
  public final ErrorType = io.vertx.ext.web.api.validation.ValidationException$ErrorType of io.vertx.ext.web.api.validation.ValidationException
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles