final class com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter<T> extends com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter
  super_class: com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter
{
  private final com.oracle.truffle.api.nodes.LanguageInfo languageInfo;
    descriptor: Lcom/oracle/truffle/api/nodes/LanguageInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.TruffleLanguage<?> language;
    descriptor: Lcom/oracle/truffle/api/TruffleLanguage;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/oracle/truffle/api/TruffleLanguage<*>;

  final com.oracle.truffle.api.instrumentation.InstrumentationHandler this$0;
    descriptor: Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.oracle.truffle.api.TruffleLanguage<?>);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;Lcom/oracle/truffle/api/TruffleLanguage;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
        start local 2 // com.oracle.truffle.api.TruffleLanguage language
         0: .line 2171
            aload 0 /* this */
            aload 1
            putfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
            aload 0 /* this */
            aload 1
            invokespecial com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.<init>:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;)V
         1: .line 2172
            aload 0 /* this */
            aload 2 /* language */
            putfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter.language:Lcom/oracle/truffle/api/TruffleLanguage;
         2: .line 2173
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.instrumentation.InstrumentAccessor.langAccess:()Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            aload 2 /* language */
            invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.getLanguageInfo:(Lcom/oracle/truffle/api/TruffleLanguage;)Lcom/oracle/truffle/api/nodes/LanguageInfo;
            putfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter.languageInfo:Lcom/oracle/truffle/api/nodes/LanguageInfo;
         3: .line 2174
            return
        end local 2 // com.oracle.truffle.api.TruffleLanguage language
        end local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$LanguageClientInstrumenter<TT;>;
            0    4     2  language  Lcom/oracle/truffle/api/TruffleLanguage<*>;
    Signature: (Lcom/oracle/truffle/api/TruffleLanguage<*>;)V
    MethodParameters:
          Name  Flags
      this$0    final
      language  

  boolean isInstrumentableSource(com.oracle.truffle.api.source.Source);
    descriptor: (Lcom/oracle/truffle/api/source/Source;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
        start local 1 // com.oracle.truffle.api.source.Source source
         0: .line 2178
            aload 1 /* source */
            invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
            astore 2 /* mimeType */
        start local 2 // java.lang.String mimeType
         1: .line 2179
            aload 2 /* mimeType */
            ifnonnull 3
         2: .line 2180
            iconst_0
            ireturn
         3: .line 2182
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter.languageInfo:Lcom/oracle/truffle/api/nodes/LanguageInfo;
            invokevirtual com.oracle.truffle.api.nodes.LanguageInfo.getMimeTypes:()Ljava/util/Set;
            aload 2 /* mimeType */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.String mimeType
        end local 1 // com.oracle.truffle.api.source.Source source
        end local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$LanguageClientInstrumenter<TT;>;
            0    4     1    source  Lcom/oracle/truffle/api/source/Source;
            1    4     2  mimeType  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      source  

  boolean isInstrumentableRoot(com.oracle.truffle.api.nodes.RootNode);
    descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
        start local 1 // com.oracle.truffle.api.nodes.RootNode node
         0: .line 2187
            aload 1 /* node */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getLanguageInfo:()Lcom/oracle/truffle/api/nodes/LanguageInfo;
            astore 2 /* langInfo */
        start local 2 // com.oracle.truffle.api.nodes.LanguageInfo langInfo
         1: .line 2188
            aload 2 /* langInfo */
            ifnonnull 3
         2: .line 2189
            iconst_0
            ireturn
         3: .line 2191
      StackMap locals: com.oracle.truffle.api.nodes.LanguageInfo
      StackMap stack:
            aload 2 /* langInfo */
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter.languageInfo:Lcom/oracle/truffle/api/nodes/LanguageInfo;
            if_acmpeq 5
         4: .line 2192
            iconst_0
            ireturn
         5: .line 2194
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // com.oracle.truffle.api.nodes.LanguageInfo langInfo
        end local 1 // com.oracle.truffle.api.nodes.RootNode node
        end local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$LanguageClientInstrumenter<TT;>;
            0    6     1      node  Lcom/oracle/truffle/api/nodes/RootNode;
            1    6     2  langInfo  Lcom/oracle/truffle/api/nodes/LanguageInfo;
    MethodParameters:
      Name  Flags
      node  

  public java.util.Set<java.lang.Class<?>> queryTags(com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
        start local 1 // com.oracle.truffle.api.nodes.Node node
         0: .line 2199
            aload 0 /* this */
            aload 1 /* node */
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter.languageInfo:Lcom/oracle/truffle/api/nodes/LanguageInfo;
            invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter.queryTagsImpl:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/LanguageInfo;)Ljava/util/Set;
            areturn
        end local 1 // com.oracle.truffle.api.nodes.Node node
        end local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$LanguageClientInstrumenter<TT;>;
            0    1     1  node  Lcom/oracle/truffle/api/nodes/Node;
    Signature: (Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set<Ljava/lang/Class<*>;>;
    MethodParameters:
      Name  Flags
      node  

  void verifyFilter(com.oracle.truffle.api.instrumentation.SourceSectionFilter);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
        start local 1 // com.oracle.truffle.api.instrumentation.SourceSectionFilter filter
         0: .line 2204
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter.language:Lcom/oracle/truffle/api/TruffleLanguage;
            invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.getProvidedTags:(Lcom/oracle/truffle/api/TruffleLanguage;)Ljava/util/Set;
            astore 2 /* providedTags */
        start local 2 // java.util.Set providedTags
         1: .line 2206
            aload 1 /* filter */
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter.getReferencedTags:()Ljava/util/Set;
            astore 3 /* referencedTags */
        start local 3 // java.util.Set referencedTags
         2: .line 2207
            aload 2 /* providedTags */
            aload 3 /* referencedTags */
            invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
            ifne 19
         3: .line 2208
            new java.util.HashSet
            dup
            aload 3 /* referencedTags */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 4 /* missingTags */
        start local 4 // java.util.Set missingTags
         4: .line 2209
            aload 4 /* missingTags */
            aload 2 /* providedTags */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
         5: .line 2210
            new java.util.LinkedHashSet
            dup
            aload 2 /* providedTags */
            invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
            astore 5 /* allTags */
        start local 5 // java.util.Set allTags
         6: .line 2211
            aload 5 /* allTags */
            aload 4 /* missingTags */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 2212
            new java.lang.StringBuilder
            dup
            ldc "{"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 6 /* builder */
        start local 6 // java.lang.StringBuilder builder
         8: .line 2213
            ldc ""
            astore 7 /* sep */
        start local 7 // java.lang.String sep
         9: .line 2214
            aload 5 /* allTags */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 14
      StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter com.oracle.truffle.api.instrumentation.SourceSectionFilter java.util.Set java.util.Set java.util.Set java.util.Set java.lang.StringBuilder java.lang.String top java.util.Iterator
      StackMap stack:
        10: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 8 /* tag */
        start local 8 // java.lang.Class tag
        11: .line 2215
            aload 6 /* builder */
            aload 7 /* sep */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 2216
            aload 6 /* builder */
            aload 8 /* tag */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 2217
            ldc ", "
            astore 7 /* sep */
        end local 8 // java.lang.Class tag
        14: .line 2214
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 2219
            aload 6 /* builder */
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 2220
            new java.lang.IllegalArgumentException
            dup
            ldc "The attached filter %s references the following tags %s which are not declared as provided by the language. To fix this annotate the language class %s with @%s(%s)."
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 2222
            aload 1 /* filter */
            aastore
            dup
            iconst_1
            aload 4 /* missingTags */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter.language:Lcom/oracle/truffle/api/TruffleLanguage;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc Lcom/oracle/truffle/api/instrumentation/ProvidedTags;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 6 /* builder */
            aastore
        18: .line 2220
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.String sep
        end local 6 // java.lang.StringBuilder builder
        end local 5 // java.util.Set allTags
        end local 4 // java.util.Set missingTags
        19: .line 2224
      StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter com.oracle.truffle.api.instrumentation.SourceSectionFilter java.util.Set java.util.Set
      StackMap stack:
            return
        end local 3 // java.util.Set referencedTags
        end local 2 // java.util.Set providedTags
        end local 1 // com.oracle.truffle.api.instrumentation.SourceSectionFilter filter
        end local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            this  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$LanguageClientInstrumenter<TT;>;
            0   20     1          filter  Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            1   20     2    providedTags  Ljava/util/Set<Ljava/lang/Class<*>;>;
            2   20     3  referencedTags  Ljava/util/Set<Ljava/lang/Class<*>;>;
            4   19     4     missingTags  Ljava/util/Set<Ljava/lang/Class<*>;>;
            6   19     5         allTags  Ljava/util/Set<Ljava/lang/Class<*>;>;
            8   19     6         builder  Ljava/lang/StringBuilder;
            9   19     7             sep  Ljava/lang/String;
           11   14     8             tag  Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      filter  

  public <S extends com.oracle.truffle.api.instrumentation.ContextsListener> com.oracle.truffle.api.instrumentation.EventBinding<S> attachContextsListener(S, boolean);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/ContextsListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
        start local 1 // com.oracle.truffle.api.instrumentation.ContextsListener listener
        start local 2 // boolean includeActiveContexts
         0: .line 2228
            new java.lang.UnsupportedOperationException
            dup
            ldc "Not supported in language instrumenter."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // boolean includeActiveContexts
        end local 1 // com.oracle.truffle.api.instrumentation.ContextsListener listener
        end local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0                   this  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$LanguageClientInstrumenter<TT;>;
            0    1     1               listener  TS;
            0    1     2  includeActiveContexts  Z
    Signature: <S::Lcom/oracle/truffle/api/instrumentation/ContextsListener;>(TS;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding<TS;>;
    MethodParameters:
                       Name  Flags
      listener               
      includeActiveContexts  

  public <S extends com.oracle.truffle.api.instrumentation.ThreadsListener> com.oracle.truffle.api.instrumentation.EventBinding<S> attachThreadsListener(S, boolean);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/ThreadsListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
        start local 1 // com.oracle.truffle.api.instrumentation.ThreadsListener listener
        start local 2 // boolean includeStartedThreads
         0: .line 2233
            new java.lang.UnsupportedOperationException
            dup
            ldc "Not supported in language instrumenter."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // boolean includeStartedThreads
        end local 1 // com.oracle.truffle.api.instrumentation.ThreadsListener listener
        end local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0                   this  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$LanguageClientInstrumenter<TT;>;
            0    1     1               listener  TS;
            0    1     2  includeStartedThreads  Z
    Signature: <S::Lcom/oracle/truffle/api/instrumentation/ThreadsListener;>(TS;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding<TS;>;
    MethodParameters:
                       Name  Flags
      listener               
      includeStartedThreads  

  public com.oracle.truffle.api.instrumentation.EventBinding<? extends com.oracle.truffle.api.instrumentation.ThreadsActivationListener> attachThreadsActivationListener(com.oracle.truffle.api.instrumentation.ThreadsActivationListener);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/ThreadsActivationListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
        start local 1 // com.oracle.truffle.api.instrumentation.ThreadsActivationListener listener
         0: .line 2238
            new java.lang.UnsupportedOperationException
            dup
            ldc "Not supported in language instrumenter."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // com.oracle.truffle.api.instrumentation.ThreadsActivationListener listener
        end local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$LanguageClientInstrumenter<TT;>;
            0    1     1  listener  Lcom/oracle/truffle/api/instrumentation/ThreadsActivationListener;
    Signature: (Lcom/oracle/truffle/api/instrumentation/ThreadsActivationListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding<+Lcom/oracle/truffle/api/instrumentation/ThreadsActivationListener;>;
    MethodParameters:
          Name  Flags
      listener  

  void doFinalize();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
         0: .line 2244
            return
        end local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$LanguageClientInstrumenter<TT;>;

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
         0: .line 2249
            return
        end local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$LanguageClientInstrumenter<TT;>;

  <S> S lookup(com.oracle.truffle.api.instrumentation.InstrumentationHandler, java.lang.Class<S>);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
        start local 1 // com.oracle.truffle.api.instrumentation.InstrumentationHandler handler
        start local 2 // java.lang.Class type
         0: .line 2253
            aconst_null
            areturn
        end local 2 // java.lang.Class type
        end local 1 // com.oracle.truffle.api.instrumentation.InstrumentationHandler handler
        end local 0 // com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$LanguageClientInstrumenter<TT;>;
            0    1     1  handler  Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
            0    1     2     type  Ljava/lang/Class<TS;>;
    Signature: <S:Ljava/lang/Object;>(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;Ljava/lang/Class<TS;>;)TS;
    MethodParameters:
         Name  Flags
      handler  
      type     
}
Signature: <T:Ljava/lang/Object;>Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
SourceFile: "InstrumentationHandler.java"
NestHost: com.oracle.truffle.api.instrumentation.InstrumentationHandler
InnerClasses:
  public abstract LanguageSupport = com.oracle.truffle.api.impl.Accessor$LanguageSupport of com.oracle.truffle.api.impl.Accessor
  abstract AbstractInstrumenter = com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter of com.oracle.truffle.api.instrumentation.InstrumentationHandler
  final LanguageClientInstrumenter = com.oracle.truffle.api.instrumentation.InstrumentationHandler$LanguageClientInstrumenter of com.oracle.truffle.api.instrumentation.InstrumentationHandler