class com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator extends com.sun.tools.javac.processing.JavacProcessingEnvironment$ServiceIterator
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator
  super_class: com.sun.tools.javac.processing.JavacProcessingEnvironment$ServiceIterator
{
  private java.util.Map<java.lang.String, javax.annotation.processing.Processor> namedProcessorsMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljavax/annotation/processing/Processor;>;

  private java.util.Iterator<java.lang.String> processorNames;
    descriptor: Ljava/util/Iterator;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Iterator<Ljava/lang/String;>;

  private javax.annotation.processing.Processor nextProc;
    descriptor: Ljavax/annotation/processing/Processor;
    flags: (0x0002) ACC_PRIVATE

  final com.sun.tools.javac.processing.JavacProcessingEnvironment this$0;
    descriptor: Lcom/sun/tools/javac/processing/JavacProcessingEnvironment;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(java.util.ServiceLoader<javax.annotation.processing.Processor>, com.sun.tools.javac.util.Log, java.lang.String);
    descriptor: (Lcom/sun/tools/javac/processing/JavacProcessingEnvironment;Ljava/util/ServiceLoader;Lcom/sun/tools/javac/util/Log;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator this
        start local 2 // java.util.ServiceLoader loader
        start local 3 // com.sun.tools.javac.util.Log log
        start local 4 // java.lang.String theNames
         0: .line 503
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.this$0:Lcom/sun/tools/javac/processing/JavacProcessingEnvironment;
         1: .line 504
            aload 0 /* this */
            aload 1
            aload 2 /* loader */
            aload 3 /* log */
            invokespecial com.sun.tools.javac.processing.JavacProcessingEnvironment$ServiceIterator.<init>:(Lcom/sun/tools/javac/processing/JavacProcessingEnvironment;Ljava/util/ServiceLoader;Lcom/sun/tools/javac/util/Log;)V
         2: .line 499
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.namedProcessorsMap:Ljava/util/Map;
         3: .line 500
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.processorNames:Ljava/util/Iterator;
         4: .line 501
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.nextProc:Ljavax/annotation/processing/Processor;
         5: .line 505
            aload 0 /* this */
            aload 4 /* theNames */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.processorNames:Ljava/util/Iterator;
         6: .line 506
            return
        end local 4 // java.lang.String theNames
        end local 3 // com.sun.tools.javac.util.Log log
        end local 2 // java.util.ServiceLoader loader
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$NameServiceIterator;
            0    7     2    loader  Ljava/util/ServiceLoader<Ljavax/annotation/processing/Processor;>;
            0    7     3       log  Lcom/sun/tools/javac/util/Log;
            0    7     4  theNames  Ljava/lang/String;
    Signature: (Ljava/util/ServiceLoader<Ljavax/annotation/processing/Processor;>;Lcom/sun/tools/javac/util/Log;Ljava/lang/String;)V
    MethodParameters:
          Name  Flags
      this$0    final
      loader    
      log       
      theNames  

  boolean internalHasNext();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator this
         0: .line 510
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.nextProc:Ljavax/annotation/processing/Processor;
            ifnull 2
         1: .line 511
            iconst_1
            ireturn
         2: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.processorNames:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         3: .line 514
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.namedProcessorsMap:Ljava/util/Map;
         4: .line 515
            iconst_0
            ireturn
         5: .line 517
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.processorNames:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* processorName */
        start local 1 // java.lang.String processorName
         6: .line 518
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.namedProcessorsMap:Ljava/util/Map;
            aload 1 /* processorName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.annotation.processing.Processor
            astore 2 /* theProcessor */
        start local 2 // javax.annotation.processing.Processor theProcessor
         7: .line 519
            aload 2 /* theProcessor */
            ifnull 17
         8: .line 520
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.namedProcessorsMap:Ljava/util/Map;
            aload 1 /* processorName */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 521
            aload 0 /* this */
            aload 2 /* theProcessor */
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.nextProc:Ljavax/annotation/processing/Processor;
        10: .line 522
            iconst_1
            ireturn
        11: .line 525
      StackMap locals: java.lang.String javax.annotation.processing.Processor
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.iterator:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.annotation.processing.Processor
            astore 2 /* theProcessor */
        12: .line 526
            aload 2 /* theProcessor */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
        13: .line 527
            aload 3 /* name */
            aload 1 /* processorName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 528
            aload 0 /* this */
            aload 2 /* theProcessor */
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.nextProc:Ljavax/annotation/processing/Processor;
        15: .line 529
            iconst_1
            ireturn
        16: .line 531
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.namedProcessorsMap:Ljava/util/Map;
            aload 3 /* name */
            aload 2 /* theProcessor */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String name
        17: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.iterator:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        18: .line 534
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* processorName */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ProcProcessorNotFound:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        19: .line 535
            iconst_0
            ireturn
        end local 2 // javax.annotation.processing.Processor theProcessor
        end local 1 // java.lang.String processorName
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$NameServiceIterator;
            6   20     1  processorName  Ljava/lang/String;
            7   20     2   theProcessor  Ljavax/annotation/processing/Processor;
           13   17     3           name  Ljava/lang/String;

  javax.annotation.processing.Processor internalNext();
    descriptor: ()Ljavax/annotation/processing/Processor;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator this
         0: .line 541
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.hasNext:()Z
            ifeq 4
         1: .line 542
            aload 0 /* this */
            getfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.nextProc:Ljavax/annotation/processing/Processor;
            astore 1 /* p */
        start local 1 // javax.annotation.processing.Processor p
         2: .line 543
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator.nextProc:Ljavax/annotation/processing/Processor;
         3: .line 544
            aload 1 /* p */
            areturn
        end local 1 // javax.annotation.processing.Processor p
         4: .line 546
      StackMap locals:
      StackMap stack:
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
        end local 0 // com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/processing/JavacProcessingEnvironment$NameServiceIterator;
            2    4     1     p  Ljavax/annotation/processing/Processor;
}
SourceFile: "JavacProcessingEnvironment.java"
NestHost: com.sun.tools.javac.processing.JavacProcessingEnvironment
InnerClasses:
  private NameServiceIterator = com.sun.tools.javac.processing.JavacProcessingEnvironment$NameServiceIterator of com.sun.tools.javac.processing.JavacProcessingEnvironment
  private ServiceIterator = com.sun.tools.javac.processing.JavacProcessingEnvironment$ServiceIterator of com.sun.tools.javac.processing.JavacProcessingEnvironment
  public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
  public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic