final class java.util.stream.Nodes$InternalNodeSpliterator$OfRef<T> extends java.util.stream.Nodes$InternalNodeSpliterator<T, java.util.Spliterator<T>, java.util.stream.Node<T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.util.stream.Nodes$InternalNodeSpliterator$OfRef
  super_class: java.util.stream.Nodes$InternalNodeSpliterator
{
  void <init>(java.util.stream.Node<T>);
    descriptor: (Ljava/util/stream/Node;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.stream.Nodes$InternalNodeSpliterator$OfRef this
        start local 1 // java.util.stream.Node curNode
         0: .line 1062
            aload 0 /* this */
            aload 1 /* curNode */
            invokespecial java.util.stream.Nodes$InternalNodeSpliterator.<init>:(Ljava/util/stream/Node;)V
         1: .line 1063
            return
        end local 1 // java.util.stream.Node curNode
        end local 0 // java.util.stream.Nodes$InternalNodeSpliterator$OfRef this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljava/util/stream/Nodes$InternalNodeSpliterator$OfRef<TT;>;
            0    2     1  curNode  Ljava/util/stream/Node<TT;>;
    Signature: (Ljava/util/stream/Node<TT;>;)V
    MethodParameters:
         Name  Flags
      curNode  

  public boolean tryAdvance(java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/function/Consumer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.stream.Nodes$InternalNodeSpliterator$OfRef this
        start local 1 // java.util.function.Consumer consumer
         0: .line 1067
            aload 0 /* this */
            invokevirtual java.util.stream.Nodes$InternalNodeSpliterator$OfRef.initTryAdvance:()Z
            ifne 2
         1: .line 1068
            iconst_0
            ireturn
         2: .line 1070
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.stream.Nodes$InternalNodeSpliterator$OfRef.tryAdvanceSpliterator:Ljava/util/Spliterator;
            aload 1 /* consumer */
            invokeinterface java.util.Spliterator.tryAdvance:(Ljava/util/function/Consumer;)Z
            istore 2 /* hasNext */
        start local 2 // boolean hasNext
         3: .line 1071
            iload 2 /* hasNext */
            ifne 10
         4: .line 1072
            aload 0 /* this */
            getfield java.util.stream.Nodes$InternalNodeSpliterator$OfRef.lastNodeSpliterator:Ljava/util/Spliterator;
            ifnonnull 9
         5: .line 1074
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.stream.Nodes$InternalNodeSpliterator$OfRef.tryAdvanceStack:Ljava/util/Deque;
            invokevirtual java.util.stream.Nodes$InternalNodeSpliterator$OfRef.findNextLeafNode:(Ljava/util/Deque;)Ljava/util/stream/Node;
            astore 3 /* leaf */
        start local 3 // java.util.stream.Node leaf
         6: .line 1075
            aload 3 /* leaf */
            ifnull 9
         7: .line 1076
            aload 0 /* this */
            aload 3 /* leaf */
            invokeinterface java.util.stream.Node.spliterator:()Ljava/util/Spliterator;
            putfield java.util.stream.Nodes$InternalNodeSpliterator$OfRef.tryAdvanceSpliterator:Ljava/util/Spliterator;
         8: .line 1078
            aload 0 /* this */
            getfield java.util.stream.Nodes$InternalNodeSpliterator$OfRef.tryAdvanceSpliterator:Ljava/util/Spliterator;
            aload 1 /* consumer */
            invokeinterface java.util.Spliterator.tryAdvance:(Ljava/util/function/Consumer;)Z
            ireturn
        end local 3 // java.util.stream.Node leaf
         9: .line 1082
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.util.stream.Nodes$InternalNodeSpliterator$OfRef.curNode:Ljava/util/stream/Node;
        10: .line 1084
      StackMap locals:
      StackMap stack:
            iload 2 /* hasNext */
            ireturn
        end local 2 // boolean hasNext
        end local 1 // java.util.function.Consumer consumer
        end local 0 // java.util.stream.Nodes$InternalNodeSpliterator$OfRef this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Ljava/util/stream/Nodes$InternalNodeSpliterator$OfRef<TT;>;
            0   11     1  consumer  Ljava/util/function/Consumer<-TT;>;
            3   11     2   hasNext  Z
            6    9     3      leaf  Ljava/util/stream/Node<TT;>;
    Signature: (Ljava/util/function/Consumer<-TT;>;)Z
    MethodParameters:
          Name  Flags
      consumer  

  public void forEachRemaining(java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.stream.Nodes$InternalNodeSpliterator$OfRef this
        start local 1 // java.util.function.Consumer consumer
         0: .line 1089
            aload 0 /* this */
            getfield java.util.stream.Nodes$InternalNodeSpliterator$OfRef.curNode:Ljava/util/stream/Node;
            ifnonnull 2
         1: .line 1090
            return
         2: .line 1092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.stream.Nodes$InternalNodeSpliterator$OfRef.tryAdvanceSpliterator:Ljava/util/Spliterator;
            ifnonnull 13
         3: .line 1093
            aload 0 /* this */
            getfield java.util.stream.Nodes$InternalNodeSpliterator$OfRef.lastNodeSpliterator:Ljava/util/Spliterator;
            ifnonnull 11
         4: .line 1094
            aload 0 /* this */
            invokevirtual java.util.stream.Nodes$InternalNodeSpliterator$OfRef.initStack:()Ljava/util/Deque;
            astore 2 /* stack */
        start local 2 // java.util.Deque stack
         5: .line 1096
            goto 7
        start local 3 // java.util.stream.Node leaf
         6: .line 1097
      StackMap locals: java.util.Deque java.util.stream.Node
      StackMap stack:
            aload 3 /* leaf */
            aload 1 /* consumer */
            invokeinterface java.util.stream.Node.forEach:(Ljava/util/function/Consumer;)V
        end local 3 // java.util.stream.Node leaf
         7: .line 1096
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* stack */
            invokevirtual java.util.stream.Nodes$InternalNodeSpliterator$OfRef.findNextLeafNode:(Ljava/util/Deque;)Ljava/util/stream/Node;
            dup
            astore 3 /* leaf */
        start local 3 // java.util.stream.Node leaf
         8: ifnonnull 6
         9: .line 1099
            aload 0 /* this */
            aconst_null
            putfield java.util.stream.Nodes$InternalNodeSpliterator$OfRef.curNode:Ljava/util/stream/Node;
        end local 3 // java.util.stream.Node leaf
        end local 2 // java.util.Deque stack
        10: .line 1100
            goto 14
        11: .line 1102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.stream.Nodes$InternalNodeSpliterator$OfRef.lastNodeSpliterator:Ljava/util/Spliterator;
            aload 1 /* consumer */
            invokeinterface java.util.Spliterator.forEachRemaining:(Ljava/util/function/Consumer;)V
        12: .line 1103
            goto 14
        13: .line 1105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* consumer */
            invokevirtual java.util.stream.Nodes$InternalNodeSpliterator$OfRef.tryAdvance:(Ljava/util/function/Consumer;)Z
            ifne 13
        14: .line 1106
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.Consumer consumer
        end local 0 // java.util.stream.Nodes$InternalNodeSpliterator$OfRef this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Ljava/util/stream/Nodes$InternalNodeSpliterator$OfRef<TT;>;
            0   15     1  consumer  Ljava/util/function/Consumer<-TT;>;
            5   10     2     stack  Ljava/util/Deque<Ljava/util/stream/Node<TT;>;>;
            6    7     3      leaf  Ljava/util/stream/Node<TT;>;
            8   10     3      leaf  Ljava/util/stream/Node<TT;>;
    Signature: (Ljava/util/function/Consumer<-TT;>;)V
    MethodParameters:
          Name  Flags
      consumer  
}
Signature: <T:Ljava/lang/Object;>Ljava/util/stream/Nodes$InternalNodeSpliterator<TT;Ljava/util/Spliterator<TT;>;Ljava/util/stream/Node<TT;>;>;
SourceFile: "Nodes.java"
NestHost: java.util.stream.Nodes
InnerClasses:
  private abstract InternalNodeSpliterator = java.util.stream.Nodes$InternalNodeSpliterator of java.util.stream.Nodes
  private final OfRef = java.util.stream.Nodes$InternalNodeSpliterator$OfRef of java.util.stream.Nodes$InternalNodeSpliterator