public class com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest
  super_class: java.lang.Object
{
  static final java.util.concurrent.atomic.AtomicInteger createDisposeCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 159
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest.createDisposeCount:Ljava/util/concurrent/atomic/AtomicInteger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest this
         0: .line 73
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/instrumentation/test/InstrumentationMultiThreadingTest;

  public void testAsyncAttachement();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest this
         0: .line 78
            iconst_1
            istore 1 /* nEvals */
        start local 1 // int nEvals
         1: .line 79
            bipush 10
            istore 2 /* nInstruments */
        start local 2 // int nInstruments
         2: .line 80
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            astore 3 /* createdContexts */
        start local 3 // java.util.concurrent.CopyOnWriteArrayList createdContexts
         3: .line 82
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         4: goto 30
         5: .line 83
      StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest int int java.util.concurrent.CopyOnWriteArrayList int
      StackMap stack:
            iload 1 /* nEvals */
            iload 2 /* nInstruments */
            iadd
            invokestatic java.util.concurrent.Executors.newFixedThreadPool:(I)Ljava/util/concurrent/ExecutorService;
            astore 5 /* executorService */
        start local 5 // java.util.concurrent.ExecutorService executorService
         6: .line 84
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* futures */
        start local 6 // java.util.List futures
         7: .line 85
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            astore 7 /* terminated */
        start local 7 // java.util.concurrent.atomic.AtomicBoolean terminated
         8: .line 86
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 8 /* engineRef */
        start local 8 // java.util.concurrent.atomic.AtomicReference engineRef
         9: .line 87
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        10: goto 13
        11: .line 88
      StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest int int java.util.concurrent.CopyOnWriteArrayList int java.util.concurrent.ExecutorService java.util.List java.util.concurrent.atomic.AtomicBoolean java.util.concurrent.atomic.AtomicReference int
      StackMap stack:
            aload 6 /* futures */
            aload 5 /* executorService */
            new com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$1
            dup
            aload 0 /* this */
            aload 3 /* createdContexts */
            aload 8 /* engineRef */
            aload 7 /* terminated */
            invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$1.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationMultiThreadingTest;Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicBoolean;)V
            invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 87
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 9 /* i */
            iload 1 /* nEvals */
            if_icmplt 11
        end local 9 // int i
        14: .line 105
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        15: goto 19
        16: .line 106
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            istore 10 /* index */
        start local 10 // int index
        17: .line 107
            aload 6 /* futures */
            aload 5 /* executorService */
            new com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$2
            dup
            aload 0 /* this */
            aload 7 /* terminated */
            aload 8 /* engineRef */
            iload 10 /* index */
            invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$2.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationMultiThreadingTest;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicReference;I)V
            invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // int index
        18: .line 105
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 9 /* i */
            iload 2 /* nInstruments */
            if_icmplt 16
        end local 9 // int i
        20: .line 119
            aload 7 /* terminated */
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
        21: .line 120
            aload 6 /* futures */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 24
      StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest int int java.util.concurrent.CopyOnWriteArrayList int java.util.concurrent.ExecutorService java.util.List java.util.concurrent.atomic.AtomicBoolean java.util.concurrent.atomic.AtomicReference top java.util.Iterator
      StackMap stack:
        22: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.concurrent.Future
            astore 9 /* future */
        start local 9 // java.util.concurrent.Future future
        23: .line 121
            aload 9 /* future */
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            pop
        end local 9 // java.util.concurrent.Future future
        24: .line 120
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        25: .line 124
            aload 5 /* executorService */
            invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
            pop
        26: .line 125
            aload 5 /* executorService */
            ldc 100
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
            pop
        27: .line 127
            aload 8 /* engineRef */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Context
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "testAsyncAttachement1"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            ldc Lcom/oracle/truffle/api/instrumentation/test/EnableableInstrument;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.instrumentation.test.EnableableInstrument
            iconst_0
            invokevirtual com.oracle.truffle.api.instrumentation.test.EnableableInstrument.setEnabled:(Z)V
        28: .line 128
            aload 8 /* engineRef */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Context
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "testAsyncAttachement2"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            ldc Lcom/oracle/truffle/api/instrumentation/test/EnableableInstrument;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.instrumentation.test.EnableableInstrument
            iconst_0
            invokevirtual com.oracle.truffle.api.instrumentation.test.EnableableInstrument.setEnabled:(Z)V
        end local 8 // java.util.concurrent.atomic.AtomicReference engineRef
        end local 7 // java.util.concurrent.atomic.AtomicBoolean terminated
        end local 6 // java.util.List futures
        end local 5 // java.util.concurrent.ExecutorService executorService
        29: .line 82
            iinc 4 /* j */ 1
      StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest int int java.util.concurrent.CopyOnWriteArrayList int
      StackMap stack:
        30: iload 4 /* j */
            iconst_5
            if_icmplt 5
        end local 4 // int j
        31: .line 131
            lconst_0
            getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest.createDisposeCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        32: .line 133
            aload 3 /* createdContexts */
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 35
      StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest int int java.util.concurrent.CopyOnWriteArrayList top java.util.Iterator
      StackMap stack:
        33: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Context
            astore 4 /* context */
        start local 4 // org.graalvm.polyglot.Context context
        34: .line 134
            aload 4 /* context */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context context
        35: .line 133
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 33
        36: .line 136
            return
        end local 3 // java.util.concurrent.CopyOnWriteArrayList createdContexts
        end local 2 // int nInstruments
        end local 1 // int nEvals
        end local 0 // com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   37     0             this  Lcom/oracle/truffle/api/instrumentation/test/InstrumentationMultiThreadingTest;
            1   37     1           nEvals  I
            2   37     2     nInstruments  I
            3   37     3  createdContexts  Ljava/util/concurrent/CopyOnWriteArrayList<Lorg/graalvm/polyglot/Context;>;
            4   31     4                j  I
            6   29     5  executorService  Ljava/util/concurrent/ExecutorService;
            7   29     6          futures  Ljava/util/List<Ljava/util/concurrent/Future<*>;>;
            8   29     7       terminated  Ljava/util/concurrent/atomic/AtomicBoolean;
            9   29     8        engineRef  Ljava/util/concurrent/atomic/AtomicReference<Lorg/graalvm/polyglot/Context;>;
           10   14     9                i  I
           15   20     9                i  I
           17   18    10            index  I
           23   24     9           future  Ljava/util/concurrent/Future<*>;
           34   35     4          context  Lorg/graalvm/polyglot/Context;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static com.oracle.truffle.api.instrumentation.EventBinding<?>[] createDummyBindings(com.oracle.truffle.api.instrumentation.Instrumenter);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/Instrumenter;)[Lcom/oracle/truffle/api/instrumentation/EventBinding;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.Instrumenter instrumenter
         0: .line 183
            iconst_5
            anewarray com.oracle.truffle.api.instrumentation.EventBinding
            astore 1 /* bindings */
        start local 1 // com.oracle.truffle.api.instrumentation.EventBinding[] bindings
         1: .line 184
            iconst_0
            istore 2 /* bi */
        start local 2 // int bi
         2: .line 185
            new com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$3
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$3.<init>:()V
            astore 3 /* dummyListener */
        start local 3 // com.oracle.truffle.api.instrumentation.ExecutionEventListener dummyListener
         3: .line 195
            aload 1 /* bindings */
            iload 2 /* bi */
            iinc 2 /* bi */ 1
            aload 0 /* instrumenter */
            invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.EXPRESSION:Ljava/lang/Class;
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            aload 3 /* dummyListener */
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            aastore
         4: .line 196
            aload 1 /* bindings */
            iload 2 /* bi */
            iinc 2 /* bi */ 1
            aload 0 /* instrumenter */
            invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.STATEMENT:Ljava/lang/Class;
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            aload 3 /* dummyListener */
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            aastore
         5: .line 197
            aload 1 /* bindings */
            iload 2 /* bi */
            iinc 2 /* bi */ 1
            aload 0 /* instrumenter */
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            new com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$4
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$4.<init>:()V
         6: .line 202
            iconst_1
         7: .line 197
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            aastore
         8: .line 203
            aload 1 /* bindings */
            iload 2 /* bi */
            iinc 2 /* bi */ 1
            aload 0 /* instrumenter */
            invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.EXPRESSION:Ljava/lang/Class;
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            new com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$5
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$5.<init>:()V
         9: .line 208
            iconst_1
        10: .line 203
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            aastore
        11: .line 210
            aload 1 /* bindings */
            iload 2 /* bi */
            iinc 2 /* bi */ 1
            aload 0 /* instrumenter */
            invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.STATEMENT:Ljava/lang/Class;
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            new com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$6
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$6.<init>:()V
        12: .line 214
            iconst_1
        13: .line 210
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            aastore
        14: .line 215
            aload 1 /* bindings */
            areturn
        end local 3 // com.oracle.truffle.api.instrumentation.ExecutionEventListener dummyListener
        end local 2 // int bi
        end local 1 // com.oracle.truffle.api.instrumentation.EventBinding[] bindings
        end local 0 // com.oracle.truffle.api.instrumentation.Instrumenter instrumenter
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0   instrumenter  Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            1   15     1       bindings  [Lcom/oracle/truffle/api/instrumentation/EventBinding;
            2   15     2             bi  I
            3   15     3  dummyListener  Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;
    Signature: (Lcom/oracle/truffle/api/instrumentation/Instrumenter;)[Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
    MethodParameters:
              Name  Flags
      instrumenter  
}
SourceFile: "InstrumentationMultiThreadingTest.java"
NestMembers:
  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$1  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$2  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$3  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$4  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$5  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$6  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement1  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2
InnerClasses:
  public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$1
  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$2
  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$3
  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$4
  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$5
  com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$6
  public TestAsyncAttachement1 = com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement1 of com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest
  public TestAsyncAttachement2 = com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2 of com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest