public class io.vertx.ext.unit.impl.TestCompletionImpl extends io.vertx.ext.unit.impl.CompletionImpl<java.lang.Void> implements io.vertx.ext.unit.TestCompletion, io.vertx.core.Handler<io.vertx.ext.unit.report.TestSuiteReport>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.unit.impl.TestCompletionImpl
  super_class: io.vertx.ext.unit.impl.CompletionImpl
{
  private final java.util.concurrent.atomic.AtomicReference<io.vertx.ext.unit.report.TestSuiteReport> report;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lio/vertx/ext/unit/report/TestSuiteReport;>;

  private final java.util.List<io.vertx.ext.unit.report.Reporter> reporters;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lio/vertx/ext/unit/report/Reporter;>;

  private final java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> failure;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;

  public void <init>(io.vertx.ext.unit.report.Reporter[]);
    descriptor: ([Lio/vertx/ext/unit/report/Reporter;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
        start local 1 // io.vertx.ext.unit.report.Reporter[] reporters
         0: .line 22
            aload 0 /* this */
            invokespecial io.vertx.ext.unit.impl.CompletionImpl.<init>:()V
         1: .line 18
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield io.vertx.ext.unit.impl.TestCompletionImpl.report:Ljava/util/concurrent/atomic/AtomicReference;
         2: .line 19
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokestatic java.util.Collections.synchronizedList:(Ljava/util/List;)Ljava/util/List;
            putfield io.vertx.ext.unit.impl.TestCompletionImpl.reporters:Ljava/util/List;
         3: .line 20
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield io.vertx.ext.unit.impl.TestCompletionImpl.failure:Ljava/util/concurrent/atomic/AtomicReference;
         4: .line 23
            aload 0 /* this */
            getfield io.vertx.ext.unit.impl.TestCompletionImpl.reporters:Ljava/util/List;
            aload 1 /* reporters */
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
         5: .line 24
            return
        end local 1 // io.vertx.ext.unit.report.Reporter[] reporters
        end local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lio/vertx/ext/unit/impl/TestCompletionImpl;
            0    6     1  reporters  [Lio/vertx/ext/unit/report/Reporter;
    MethodParameters:
           Name  Flags
      reporters  

  public void addReporter(io.vertx.ext.unit.report.Reporter);
    descriptor: (Lio/vertx/ext/unit/report/Reporter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
        start local 1 // io.vertx.ext.unit.report.Reporter reporter
         0: .line 27
            aload 0 /* this */
            getfield io.vertx.ext.unit.impl.TestCompletionImpl.reporters:Ljava/util/List;
            aload 1 /* reporter */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 28
            return
        end local 1 // io.vertx.ext.unit.report.Reporter reporter
        end local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/vertx/ext/unit/impl/TestCompletionImpl;
            0    2     1  reporter  Lio/vertx/ext/unit/report/Reporter;
    MethodParameters:
          Name  Flags
      reporter  

  public void handle(io.vertx.ext.unit.report.TestSuiteReport);
    descriptor: (Lio/vertx/ext/unit/report/TestSuiteReport;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
        start local 1 // io.vertx.ext.unit.report.TestSuiteReport report
         0: .line 32
            aload 0 /* this */
            getfield io.vertx.ext.unit.impl.TestCompletionImpl.reporters:Ljava/util/List;
            aload 0 /* this */
            getfield io.vertx.ext.unit.impl.TestCompletionImpl.reporters:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray io.vertx.ext.unit.report.Reporter
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast io.vertx.ext.unit.report.Reporter[]
            astore 2 /* reporters */
        start local 2 // io.vertx.ext.unit.report.Reporter[] reporters
         1: .line 33
            aload 2 /* reporters */
            arraylength
            anewarray java.lang.Object
            astore 3 /* reports */
        start local 3 // java.lang.Object[] reports
         2: .line 34
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 35
      StackMap locals: io.vertx.ext.unit.report.Reporter[] java.lang.Object[] int
      StackMap stack:
            aload 3 /* reports */
            iload 4 /* i */
            aload 2 /* reporters */
            iload 4 /* i */
            aaload
            aload 1 /* report */
            invokeinterface io.vertx.ext.unit.report.TestSuiteReport.name:()Ljava/lang/String;
            invokeinterface io.vertx.ext.unit.report.Reporter.reportBeginTestSuite:(Ljava/lang/String;)Ljava/lang/Object;
            aastore
         5: .line 34
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 2 /* reporters */
            arraylength
            if_icmplt 4
        end local 4 // int i
         7: .line 37
            aload 1 /* report */
            aload 0 /* this */
            aload 2 /* reporters */
            aload 3 /* reports */
            invokedynamic handle(Lio/vertx/ext/unit/impl/TestCompletionImpl;[Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;)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/unit/impl/TestCompletionImpl.lambda$0([Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;Lio/vertx/ext/unit/report/TestCaseReport;)V (7)
                  (Lio/vertx/ext/unit/report/TestCaseReport;)V
            invokeinterface io.vertx.ext.unit.report.TestSuiteReport.handler:(Lio/vertx/core/Handler;)Lio/vertx/ext/unit/report/TestSuiteReport;
            pop
         8: .line 50
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 4 /* err */
        start local 4 // java.util.concurrent.atomic.AtomicReference err
         9: .line 51
            aload 1 /* report */
            aload 0 /* this */
            aload 4 /* err */
            aload 2 /* reporters */
            aload 3 /* reports */
            invokedynamic handle(Lio/vertx/ext/unit/impl/TestCompletionImpl;Ljava/util/concurrent/atomic/AtomicReference;[Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;)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/unit/impl/TestCompletionImpl.lambda$2(Ljava/util/concurrent/atomic/AtomicReference;[Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;Ljava/lang/Throwable;)V (7)
                  (Ljava/lang/Throwable;)V
            invokeinterface io.vertx.ext.unit.report.TestSuiteReport.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/ext/unit/report/TestSuiteReport;
            pop
        10: .line 58
            aload 1 /* report */
            aload 0 /* this */
            aload 1 /* report */
            aload 2 /* reporters */
            aload 3 /* reports */
            invokedynamic handle(Lio/vertx/ext/unit/impl/TestCompletionImpl;Lio/vertx/ext/unit/report/TestSuiteReport;[Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;)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/unit/impl/TestCompletionImpl.lambda$3(Lio/vertx/ext/unit/report/TestSuiteReport;[Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.ext.unit.report.TestSuiteReport.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/ext/unit/report/TestSuiteReport;
            pop
        11: .line 69
            return
        end local 4 // java.util.concurrent.atomic.AtomicReference err
        end local 3 // java.lang.Object[] reports
        end local 2 // io.vertx.ext.unit.report.Reporter[] reporters
        end local 1 // io.vertx.ext.unit.report.TestSuiteReport report
        end local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lio/vertx/ext/unit/impl/TestCompletionImpl;
            0   12     1     report  Lio/vertx/ext/unit/report/TestSuiteReport;
            1   12     2  reporters  [Lio/vertx/ext/unit/report/Reporter;
            2   12     3    reports  [Ljava/lang/Object;
            3    7     4          i  I
            9   12     4        err  Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;
    MethodParameters:
        Name  Flags
      report  

  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.unit.report.TestSuiteReport
            invokevirtual io.vertx.ext.unit.impl.TestCompletionImpl.handle:(Lio/vertx/ext/unit/report/TestSuiteReport;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(io.vertx.ext.unit.report.Reporter[], java.lang.Object[], io.vertx.ext.unit.report.TestCaseReport);
    descriptor: ([Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;Lio/vertx/ext/unit/report/TestCaseReport;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
        start local 3 // io.vertx.ext.unit.report.TestCaseReport testcase
         0: .line 38
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 4
         2: .line 39
      StackMap locals: int
      StackMap stack:
            aload 1
            iload 4 /* i */
            aaload
            aload 2
            iload 4 /* i */
            aaload
            aload 3 /* testcase */
            invokeinterface io.vertx.ext.unit.report.TestCaseReport.name:()Ljava/lang/String;
            invokeinterface io.vertx.ext.unit.report.Reporter.reportBeginTestCase:(Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 38
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 4 /* i */
            aload 1
            arraylength
            if_icmplt 2
        end local 4 // int i
         5: .line 41
            aload 3 /* testcase */
            aload 0 /* this */
            aload 1
            aload 2
            aload 3 /* testcase */
            invokedynamic handle(Lio/vertx/ext/unit/impl/TestCompletionImpl;[Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;Lio/vertx/ext/unit/report/TestCaseReport;)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/unit/impl/TestCompletionImpl.lambda$1([Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;Lio/vertx/ext/unit/report/TestCaseReport;Lio/vertx/ext/unit/report/TestResult;)V (7)
                  (Lio/vertx/ext/unit/report/TestResult;)V
            invokeinterface io.vertx.ext.unit.report.TestCaseReport.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/ext/unit/report/TestCaseReport;
            pop
         6: .line 49
            return
        end local 3 // io.vertx.ext.unit.report.TestCaseReport testcase
        end local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/vertx/ext/unit/impl/TestCompletionImpl;
            0    7     3  testcase  Lio/vertx/ext/unit/report/TestCaseReport;
            1    5     4         i  I

  private void lambda$2(java.util.concurrent.atomic.AtomicReference, io.vertx.ext.unit.report.Reporter[], java.lang.Object[], java.lang.Throwable);
    descriptor: (Ljava/util/concurrent/atomic/AtomicReference;[Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;Ljava/lang/Throwable;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
        start local 4 // java.lang.Throwable t
         0: .line 52
            aload 0 /* this */
            getfield io.vertx.ext.unit.impl.TestCompletionImpl.failure:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 4 /* t */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         1: .line 53
            aload 1
            aload 4 /* t */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         2: .line 54
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 6
         4: .line 55
      StackMap locals: int
      StackMap stack:
            aload 2
            iload 5 /* i */
            aaload
            aload 3
            iload 5 /* i */
            aaload
            aload 4 /* t */
            invokeinterface io.vertx.ext.unit.report.Reporter.reportError:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         5: .line 54
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            aload 2
            arraylength
            if_icmplt 4
        end local 5 // int i
         7: .line 57
            return
        end local 4 // java.lang.Throwable t
        end local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/vertx/ext/unit/impl/TestCompletionImpl;
            0    8     4     t  Ljava/lang/Throwable;
            3    7     5     i  I

  private void lambda$3(io.vertx.ext.unit.report.TestSuiteReport, io.vertx.ext.unit.report.Reporter[], java.lang.Object[], java.lang.Void);
    descriptor: (Lio/vertx/ext/unit/report/TestSuiteReport;[Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
        start local 4 // java.lang.Void v
         0: .line 59
            aload 0 /* this */
            getfield io.vertx.ext.unit.impl.TestCompletionImpl.report:Ljava/util/concurrent/atomic/AtomicReference;
            aload 1
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         1: .line 60
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 61
      StackMap locals: int
      StackMap stack:
            aload 2
            iload 5 /* i */
            aaload
            aload 3
            iload 5 /* i */
            aaload
            invokeinterface io.vertx.ext.unit.report.Reporter.reportEndTestSuite:(Ljava/lang/Object;)V
         4: .line 60
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            aload 2
            arraylength
            if_icmplt 3
        end local 5 // int i
         6: .line 63
            aload 0 /* this */
            getfield io.vertx.ext.unit.impl.TestCompletionImpl.failure:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 9
         7: .line 64
            aload 0 /* this */
            getfield io.vertx.ext.unit.impl.TestCompletionImpl.completable:Ljava/util/concurrent/CompletableFuture;
            aload 0 /* this */
            getfield io.vertx.ext.unit.impl.TestCompletionImpl.failure:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
         8: .line 65
            goto 10
         9: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.unit.impl.TestCompletionImpl.completable:Ljava/util/concurrent/CompletableFuture;
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
            pop
        10: .line 68
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Void v
        end local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lio/vertx/ext/unit/impl/TestCompletionImpl;
            0   11     4     v  Ljava/lang/Void;
            2    6     5     i  I

  private void lambda$1(io.vertx.ext.unit.report.Reporter[], java.lang.Object[], io.vertx.ext.unit.report.TestCaseReport, io.vertx.ext.unit.report.TestResult);
    descriptor: ([Lio/vertx/ext/unit/report/Reporter;[Ljava/lang/Object;Lio/vertx/ext/unit/report/TestCaseReport;Lio/vertx/ext/unit/report/TestResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
        start local 4 // io.vertx.ext.unit.report.TestResult result
         0: .line 42
            aload 4 /* result */
            invokeinterface io.vertx.ext.unit.report.TestResult.failed:()Z
            ifeq 2
         1: .line 43
            aload 0 /* this */
            getfield io.vertx.ext.unit.impl.TestCompletionImpl.failure:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 4 /* result */
            invokeinterface io.vertx.ext.unit.report.TestResult.failure:()Lio/vertx/ext/unit/report/Failure;
            invokeinterface io.vertx.ext.unit.report.Failure.cause:()Ljava/lang/Throwable;
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         2: .line 45
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 6
         4: .line 46
      StackMap locals: int
      StackMap stack:
            aload 1
            iload 5 /* i */
            aaload
            aload 2
            iload 5 /* i */
            aaload
            aload 3
            invokeinterface io.vertx.ext.unit.report.TestCaseReport.name:()Ljava/lang/String;
            aload 4 /* result */
            invokeinterface io.vertx.ext.unit.report.Reporter.reportEndTestCase:(Ljava/lang/Object;Ljava/lang/String;Lio/vertx/ext/unit/report/TestResult;)V
         5: .line 45
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            aload 1
            arraylength
            if_icmplt 4
        end local 5 // int i
         7: .line 48
            return
        end local 4 // io.vertx.ext.unit.report.TestResult result
        end local 0 // io.vertx.ext.unit.impl.TestCompletionImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lio/vertx/ext/unit/impl/TestCompletionImpl;
            0    8     4  result  Lio/vertx/ext/unit/report/TestResult;
            3    7     5       i  I
}
Signature: Lio/vertx/ext/unit/impl/CompletionImpl<Ljava/lang/Void;>;Lio/vertx/ext/unit/TestCompletion;Lio/vertx/core/Handler<Lio/vertx/ext/unit/report/TestSuiteReport;>;
SourceFile: "TestCompletionImpl.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles