public class io.vertx.junit5.VertxParameterProvider implements io.vertx.junit5.VertxExtensionParameterProvider<io.vertx.core.Vertx>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.junit5.VertxParameterProvider
  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 // io.vertx.junit5.VertxParameterProvider this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.junit5.VertxParameterProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/junit5/VertxParameterProvider;

  public java.lang.Class<io.vertx.core.Vertx> type();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.junit5.VertxParameterProvider this
         0: .line 35
            ldc Lio/vertx/core/Vertx;
            areturn
        end local 0 // io.vertx.junit5.VertxParameterProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/junit5/VertxParameterProvider;
    Signature: ()Ljava/lang/Class<Lio/vertx/core/Vertx;>;

  public java.lang.String key();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.junit5.VertxParameterProvider this
         0: .line 40
            ldc "Vertx"
            areturn
        end local 0 // io.vertx.junit5.VertxParameterProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/junit5/VertxParameterProvider;

  public io.vertx.core.Vertx newInstance(org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.api.extension.ParameterContext);
    descriptor: (Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/ParameterContext;)Lio/vertx/core/Vertx;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // io.vertx.junit5.VertxParameterProvider this
        start local 1 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        start local 2 // org.junit.jupiter.api.extension.ParameterContext parameterContext
         0: .line 45
            invokestatic io.vertx.core.Vertx.vertx:()Lio/vertx/core/Vertx;
            areturn
        end local 2 // org.junit.jupiter.api.extension.ParameterContext parameterContext
        end local 1 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 0 // io.vertx.junit5.VertxParameterProvider this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lio/vertx/junit5/VertxParameterProvider;
            0    1     1  extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0    1     2  parameterContext  Lorg/junit/jupiter/api/extension/ParameterContext;
    MethodParameters:
                  Name  Flags
      extensionContext  
      parameterContext  

  public io.vertx.junit5.ParameterClosingConsumer<io.vertx.core.Vertx> parameterClosingConsumer();
    descriptor: ()Lio/vertx/junit5/ParameterClosingConsumer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.junit5.VertxParameterProvider this
         0: .line 50
            invokedynamic accept()Lio/vertx/junit5/ParameterClosingConsumer;
              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/junit5/VertxParameterProvider.lambda$0(Lio/vertx/core/Vertx;)V (6)
                  (Lio/vertx/core/Vertx;)V
            areturn
        end local 0 // io.vertx.junit5.VertxParameterProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/junit5/VertxParameterProvider;
    Signature: ()Lio/vertx/junit5/ParameterClosingConsumer<Lio/vertx/core/Vertx;>;

  public java.lang.Object newInstance(org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.api.extension.ParameterContext);
    descriptor: (Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/ParameterContext;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual io.vertx.junit5.VertxParameterProvider.newInstance:(Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/ParameterContext;)Lio/vertx/core/Vertx;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$0(io.vertx.core.Vertx);
    descriptor: (Lio/vertx/core/Vertx;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // io.vertx.core.Vertx vertx
         0: .line 51
            new java.util.concurrent.CountDownLatch
            dup
            iconst_1
            invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
            astore 1 /* latch */
        start local 1 // java.util.concurrent.CountDownLatch latch
         1: .line 52
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 2 /* errorBox */
        start local 2 // java.util.concurrent.atomic.AtomicReference errorBox
         2: .line 53
            aload 0 /* vertx */
            aload 2 /* errorBox */
            aload 1 /* latch */
            invokedynamic handle(Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/CountDownLatch;)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/junit5/VertxParameterProvider.lambda$1(Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/CountDownLatch;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Vertx.close:(Lio/vertx/core/Handler;)V
         3: .line 59
            aload 1 /* latch */
            ldc 30
            getstatic io.vertx.junit5.VertxExtension.DEFAULT_TIMEOUT_UNIT:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.CountDownLatch.await:(JLjava/util/concurrent/TimeUnit;)Z
            ifne 5
         4: .line 60
            new java.util.concurrent.TimeoutException
            dup
            ldc "Closing the Vertx context timed out"
            invokespecial java.util.concurrent.TimeoutException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 62
      StackMap locals: java.util.concurrent.CountDownLatch java.util.concurrent.atomic.AtomicReference
      StackMap stack:
            aload 2 /* errorBox */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            astore 3 /* throwable */
        start local 3 // java.lang.Throwable throwable
         6: .line 63
            aload 3 /* throwable */
            ifnull 10
         7: .line 64
            aload 3 /* throwable */
            instanceof java.lang.Exception
            ifeq 9
         8: .line 65
            aload 3 /* throwable */
            checkcast java.lang.Exception
            athrow
         9: .line 67
      StackMap locals: java.lang.Throwable
      StackMap stack:
            new io.vertx.core.VertxException
            dup
            aload 3 /* throwable */
            invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable throwable
        end local 2 // java.util.concurrent.atomic.AtomicReference errorBox
        end local 1 // java.util.concurrent.CountDownLatch latch
        10: .line 70
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0      vertx  Lio/vertx/core/Vertx;
            1   10     1      latch  Ljava/util/concurrent/CountDownLatch;
            2   10     2   errorBox  Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;
            6   10     3  throwable  Ljava/lang/Throwable;
    Exceptions:
      throws java.lang.Exception

  private static void lambda$1(java.util.concurrent.atomic.AtomicReference, java.util.concurrent.CountDownLatch, io.vertx.core.AsyncResult);
    descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/CountDownLatch;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 54
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 2
         1: .line 55
            aload 0
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         2: .line 57
      StackMap locals:
      StackMap stack:
            aload 1
            invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
         3: .line 58
            return
        end local 2 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
Signature: Ljava/lang/Object;Lio/vertx/junit5/VertxExtensionParameterProvider<Lio/vertx/core/Vertx;>;
SourceFile: "VertxParameterProvider.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles