final class java.util.concurrent.LinkedTransferQueue$Itr implements java.util.Iterator<E>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.util.concurrent.LinkedTransferQueue$Itr
  super_class: java.lang.Object
{
  private java.util.concurrent.LinkedTransferQueue$Node nextNode;
    descriptor: Ljava/util/concurrent/LinkedTransferQueue$Node;
    flags: (0x0002) ACC_PRIVATE

  private E nextItem;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Signature: TE;

  private java.util.concurrent.LinkedTransferQueue$Node lastRet;
    descriptor: Ljava/util/concurrent/LinkedTransferQueue$Node;
    flags: (0x0002) ACC_PRIVATE

  private java.util.concurrent.LinkedTransferQueue$Node lastPred;
    descriptor: Ljava/util/concurrent/LinkedTransferQueue$Node;
    flags: (0x0002) ACC_PRIVATE

  final java.util.concurrent.LinkedTransferQueue this$0;
    descriptor: Ljava/util/concurrent/LinkedTransferQueue;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void advance(java.util.concurrent.LinkedTransferQueue$Node);
    descriptor: (Ljava/util/concurrent/LinkedTransferQueue$Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // java.util.concurrent.LinkedTransferQueue$Itr this
        start local 1 // java.util.concurrent.LinkedTransferQueue$Node prev
         0: .line 864
            aload 0 /* this */
            getfield java.util.concurrent.LinkedTransferQueue$Itr.lastRet:Ljava/util/concurrent/LinkedTransferQueue$Node;
            dup
            astore 2 /* r */
        start local 2 // java.util.concurrent.LinkedTransferQueue$Node r
         1: ifnull 3
            aload 2 /* r */
            invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
            ifne 3
         2: .line 865
            aload 0 /* this */
            aload 2 /* r */
            putfield java.util.concurrent.LinkedTransferQueue$Itr.lastPred:Ljava/util/concurrent/LinkedTransferQueue$Node;
            goto 12
         3: .line 866
      StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.LinkedTransferQueue$Itr.lastPred:Ljava/util/concurrent/LinkedTransferQueue$Node;
            dup
            astore 3 /* b */
        start local 3 // java.util.concurrent.LinkedTransferQueue$Node b
         4: ifnull 5
            aload 3 /* b */
            invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
            ifeq 7
         5: .line 867
      StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.util.concurrent.LinkedTransferQueue$Itr.lastPred:Ljava/util/concurrent/LinkedTransferQueue$Node;
            goto 12
        start local 4 // java.util.concurrent.LinkedTransferQueue$Node s
        start local 5 // java.util.concurrent.LinkedTransferQueue$Node n
         6: .line 873
      StackMap locals: java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
      StackMap stack:
            aload 3 /* b */
            aload 4 /* s */
            aload 5 /* n */
            invokevirtual java.util.concurrent.LinkedTransferQueue$Node.casNext:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
            pop
        end local 5 // java.util.concurrent.LinkedTransferQueue$Node n
        end local 4 // java.util.concurrent.LinkedTransferQueue$Node s
         7: .line 870
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
            dup
            astore 4 /* s */
        start local 4 // java.util.concurrent.LinkedTransferQueue$Node s
         8: ifnull 12
         9: .line 871
            aload 4 /* s */
            aload 3 /* b */
            if_acmpeq 12
            aload 4 /* s */
            invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
            ifeq 12
        10: .line 872
            aload 4 /* s */
            getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
            dup
            astore 5 /* n */
        start local 5 // java.util.concurrent.LinkedTransferQueue$Node n
        11: ifnull 12
            aload 5 /* n */
            aload 4 /* s */
            if_acmpne 6
        end local 5 // java.util.concurrent.LinkedTransferQueue$Node n
        end local 4 // java.util.concurrent.LinkedTransferQueue$Node s
        end local 3 // java.util.concurrent.LinkedTransferQueue$Node b
        12: .line 876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* prev */
            putfield java.util.concurrent.LinkedTransferQueue$Itr.lastRet:Ljava/util/concurrent/LinkedTransferQueue$Node;
        13: .line 878
            aload 1 /* prev */
            astore 4 /* p */
        start local 4 // java.util.concurrent.LinkedTransferQueue$Node p
        14: .line 879
      StackMap locals: java.util.concurrent.LinkedTransferQueue$Itr java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node top java.util.concurrent.LinkedTransferQueue$Node
      StackMap stack:
            aload 4 /* p */
            ifnonnull 15
            aload 0 /* this */
            getfield java.util.concurrent.LinkedTransferQueue$Itr.this$0:Ljava/util/concurrent/LinkedTransferQueue;
            getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 4 /* p */
            getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
      StackMap locals:
      StackMap stack: java.util.concurrent.LinkedTransferQueue$Node
        16: astore 5 /* s */
        start local 5 // java.util.concurrent.LinkedTransferQueue$Node s
        17: .line 880
            aload 5 /* s */
            ifnonnull 19
        18: .line 881
            goto 39
        19: .line 882
      StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
      StackMap stack:
            aload 5 /* s */
            aload 4 /* p */
            if_acmpne 22
        20: .line 883
            aconst_null
            astore 4 /* p */
        21: .line 884
            goto 14
        22: .line 886
      StackMap locals:
      StackMap stack:
            aload 5 /* s */
            getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
            astore 7 /* item */
        start local 7 // java.lang.Object item
        23: .line 887
            aload 5 /* s */
            getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
            ifeq 28
        24: .line 888
            aload 7 /* item */
            ifnull 30
            aload 7 /* item */
            aload 5 /* s */
            if_acmpeq 30
        25: .line 889
            aload 0 /* this */
            aload 7 /* item */
            invokestatic java.util.concurrent.LinkedTransferQueue.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            putfield java.util.concurrent.LinkedTransferQueue$Itr.nextItem:Ljava/lang/Object;
        26: .line 890
            aload 0 /* this */
            aload 5 /* s */
            putfield java.util.concurrent.LinkedTransferQueue$Itr.nextNode:Ljava/util/concurrent/LinkedTransferQueue$Node;
        27: .line 891
            return
        28: .line 894
      StackMap locals: java.util.concurrent.LinkedTransferQueue$Itr java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node top java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node top java.lang.Object
      StackMap stack:
            aload 7 /* item */
            ifnonnull 30
        29: .line 895
            goto 39
        30: .line 897
      StackMap locals:
      StackMap stack:
            aload 4 /* p */
            ifnonnull 32
        31: .line 898
            aload 5 /* s */
            astore 4 /* p */
            goto 14
        32: .line 899
      StackMap locals:
      StackMap stack:
            aload 5 /* s */
            getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
            dup
            astore 6 /* n */
        start local 6 // java.util.concurrent.LinkedTransferQueue$Node n
        33: ifnonnull 35
        34: .line 900
            goto 39
        35: .line 901
      StackMap locals: java.util.concurrent.LinkedTransferQueue$Itr java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node top java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.lang.Object
      StackMap stack:
            aload 5 /* s */
            aload 6 /* n */
            if_acmpne 37
        36: .line 902
            aconst_null
            astore 4 /* p */
            goto 14
        37: .line 904
      StackMap locals:
      StackMap stack:
            aload 4 /* p */
            aload 5 /* s */
            aload 6 /* n */
            invokevirtual java.util.concurrent.LinkedTransferQueue$Node.casNext:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
            pop
        end local 7 // java.lang.Object item
        end local 6 // java.util.concurrent.LinkedTransferQueue$Node n
        end local 5 // java.util.concurrent.LinkedTransferQueue$Node s
        38: .line 878
            goto 14
        end local 4 // java.util.concurrent.LinkedTransferQueue$Node p
        39: .line 906
      StackMap locals: java.util.concurrent.LinkedTransferQueue$Itr java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.util.concurrent.LinkedTransferQueue$Itr.nextNode:Ljava/util/concurrent/LinkedTransferQueue$Node;
        40: .line 907
            aload 0 /* this */
            aconst_null
            putfield java.util.concurrent.LinkedTransferQueue$Itr.nextItem:Ljava/lang/Object;
        41: .line 908
            return
        end local 2 // java.util.concurrent.LinkedTransferQueue$Node r
        end local 1 // java.util.concurrent.LinkedTransferQueue$Node prev
        end local 0 // java.util.concurrent.LinkedTransferQueue$Itr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   42     0  this  Ljava/util/concurrent/LinkedTransferQueue$Itr;
            0   42     1  prev  Ljava/util/concurrent/LinkedTransferQueue$Node;
            1   42     2     r  Ljava/util/concurrent/LinkedTransferQueue$Node;
            4   12     3     b  Ljava/util/concurrent/LinkedTransferQueue$Node;
            6    7     4     s  Ljava/util/concurrent/LinkedTransferQueue$Node;
            8   12     4     s  Ljava/util/concurrent/LinkedTransferQueue$Node;
            6    7     5     n  Ljava/util/concurrent/LinkedTransferQueue$Node;
           11   12     5     n  Ljava/util/concurrent/LinkedTransferQueue$Node;
           14   39     4     p  Ljava/util/concurrent/LinkedTransferQueue$Node;
           17   38     5     s  Ljava/util/concurrent/LinkedTransferQueue$Node;
           33   38     6     n  Ljava/util/concurrent/LinkedTransferQueue$Node;
           23   38     7  item  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      prev  

  void <init>(java.util.concurrent.LinkedTransferQueue);
    descriptor: (Ljava/util/concurrent/LinkedTransferQueue;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.LinkedTransferQueue$Itr this
         0: .line 910
            aload 0 /* this */
            aload 1
            putfield java.util.concurrent.LinkedTransferQueue$Itr.this$0:Ljava/util/concurrent/LinkedTransferQueue;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 911
            aload 0 /* this */
            aconst_null
            invokevirtual java.util.concurrent.LinkedTransferQueue$Itr.advance:(Ljava/util/concurrent/LinkedTransferQueue$Node;)V
         2: .line 912
            return
        end local 0 // java.util.concurrent.LinkedTransferQueue$Itr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/LinkedTransferQueue$Itr;
    MethodParameters:
        Name  Flags
      this$0  final

  public final boolean hasNext();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.LinkedTransferQueue$Itr this
         0: .line 915
            aload 0 /* this */
            getfield java.util.concurrent.LinkedTransferQueue$Itr.nextNode:Ljava/util/concurrent/LinkedTransferQueue$Node;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.util.concurrent.LinkedTransferQueue$Itr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/LinkedTransferQueue$Itr;

  public final E next();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.util.concurrent.LinkedTransferQueue$Itr this
         0: .line 919
            aload 0 /* this */
            getfield java.util.concurrent.LinkedTransferQueue$Itr.nextNode:Ljava/util/concurrent/LinkedTransferQueue$Node;
            astore 1 /* p */
        start local 1 // java.util.concurrent.LinkedTransferQueue$Node p
         1: .line 920
            aload 1 /* p */
            ifnonnull 2
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
         2: .line 921
      StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.LinkedTransferQueue$Itr.nextItem:Ljava/lang/Object;
            astore 2 /* e */
        start local 2 // java.lang.Object e
         3: .line 922
            aload 0 /* this */
            aload 1 /* p */
            invokevirtual java.util.concurrent.LinkedTransferQueue$Itr.advance:(Ljava/util/concurrent/LinkedTransferQueue$Node;)V
         4: .line 923
            aload 2 /* e */
            areturn
        end local 2 // java.lang.Object e
        end local 1 // java.util.concurrent.LinkedTransferQueue$Node p
        end local 0 // java.util.concurrent.LinkedTransferQueue$Itr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/concurrent/LinkedTransferQueue$Itr;
            1    5     1     p  Ljava/util/concurrent/LinkedTransferQueue$Node;
            3    5     2     e  TE;
    Signature: ()TE;

  public final void remove();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.concurrent.LinkedTransferQueue$Itr this
         0: .line 927
            aload 0 /* this */
            getfield java.util.concurrent.LinkedTransferQueue$Itr.lastRet:Ljava/util/concurrent/LinkedTransferQueue$Node;
            astore 1 /* lastRet */
        start local 1 // java.util.concurrent.LinkedTransferQueue$Node lastRet
         1: .line 928
            aload 1 /* lastRet */
            ifnonnull 3
         2: .line 929
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
         3: .line 930
      StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.util.concurrent.LinkedTransferQueue$Itr.lastRet:Ljava/util/concurrent/LinkedTransferQueue$Node;
         4: .line 931
            aload 1 /* lastRet */
            invokevirtual java.util.concurrent.LinkedTransferQueue$Node.tryMatchData:()Z
            ifeq 6
         5: .line 932
            aload 0 /* this */
            getfield java.util.concurrent.LinkedTransferQueue$Itr.this$0:Ljava/util/concurrent/LinkedTransferQueue;
            aload 0 /* this */
            getfield java.util.concurrent.LinkedTransferQueue$Itr.lastPred:Ljava/util/concurrent/LinkedTransferQueue$Node;
            aload 1 /* lastRet */
            invokevirtual java.util.concurrent.LinkedTransferQueue.unsplice:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)V
         6: .line 933
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.concurrent.LinkedTransferQueue$Node lastRet
        end local 0 // java.util.concurrent.LinkedTransferQueue$Itr this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Ljava/util/concurrent/LinkedTransferQueue$Itr;
            1    7     1  lastRet  Ljava/util/concurrent/LinkedTransferQueue$Node;
}
Signature: Ljava/lang/Object;Ljava/util/Iterator<TE;>;
SourceFile: "LinkedTransferQueue.java"
NestHost: java.util.concurrent.LinkedTransferQueue
InnerClasses:
  final Itr = java.util.concurrent.LinkedTransferQueue$Itr of java.util.concurrent.LinkedTransferQueue
  final Node = java.util.concurrent.LinkedTransferQueue$Node of java.util.concurrent.LinkedTransferQueue