final class java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef<T> extends java.util.stream.StreamSpliterators$UnorderedSliceSpliterator<T, java.util.Spliterator<T>> implements java.util.Spliterator<T>, java.util.function.Consumer<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef
  super_class: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator
{
  T tmpSlot;
    descriptor: Ljava/lang/Object;
    flags: (0x0000) 
    Signature: TT;

  void <init>(java.util.Spliterator<T>, long, );
    descriptor: (Ljava/util/Spliterator;JJ)V
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
        start local 1 // java.util.Spliterator s
        start local 2 // long skip
        start local 4 // long limit
         0: .line 1000
            aload 0 /* this */
            aload 1 /* s */
            lload 2 /* skip */
            lload 4 /* limit */
            invokespecial java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.<init>:(Ljava/util/Spliterator;JJ)V
         1: .line 1001
            return
        end local 4 // long limit
        end local 2 // long skip
        end local 1 // java.util.Spliterator s
        end local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$OfRef<TT;>;
            0    2     1      s  Ljava/util/Spliterator<TT;>;
            0    2     2   skip  J
            0    2     4  limit  J
    Signature: (Ljava/util/Spliterator<TT;>;JJ)V
    MethodParameters:
       Name  Flags
      s      
      skip   
      limit  

  void <init>(java.util.Spliterator<T>, java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef<T>);
    descriptor: (Ljava/util/Spliterator;Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$OfRef;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
        start local 1 // java.util.Spliterator s
        start local 2 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef parent
         0: .line 1004
            aload 0 /* this */
            aload 1 /* s */
            aload 2 /* parent */
            invokespecial java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.<init>:(Ljava/util/Spliterator;Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator;)V
         1: .line 1005
            return
        end local 2 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef parent
        end local 1 // java.util.Spliterator s
        end local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$OfRef<TT;>;
            0    2     1       s  Ljava/util/Spliterator<TT;>;
            0    2     2  parent  Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$OfRef<TT;>;
    Signature: (Ljava/util/Spliterator<TT;>;Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$OfRef<TT;>;)V
    MethodParameters:
        Name  Flags
      s       
      parent  

  public final void accept();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
        start local 1 // java.lang.Object t
         0: .line 1009
            aload 0 /* this */
            aload 1 /* t */
            putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.tmpSlot:Ljava/lang/Object;
         1: .line 1010
            return
        end local 1 // java.lang.Object t
        end local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$OfRef<TT;>;
            0    2     1     t  TT;
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      t     

  public boolean tryAdvance(java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/function/Consumer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
        start local 1 // java.util.function.Consumer action
         0: .line 1014
            aload 1 /* action */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1016
            goto 8
         2: .line 1017
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.s:Ljava/util/Spliterator;
            aload 0 /* this */
            invokeinterface java.util.Spliterator.tryAdvance:(Ljava/util/function/Consumer;)Z
            ifne 4
         3: .line 1018
            iconst_0
            ireturn
         4: .line 1019
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_1
            invokevirtual java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.acquirePermits:(J)J
            lconst_1
            lcmp
            ifne 8
         5: .line 1020
            aload 1 /* action */
            aload 0 /* this */
            getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.tmpSlot:Ljava/lang/Object;
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
         6: .line 1021
            aload 0 /* this */
            aconst_null
            putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.tmpSlot:Ljava/lang/Object;
         7: .line 1022
            iconst_1
            ireturn
         8: .line 1016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.permitStatus:()Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
            getstatic java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus.NO_MORE:Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
            if_acmpne 2
         9: .line 1025
            iconst_0
            ireturn
        end local 1 // java.util.function.Consumer action
        end local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$OfRef<TT;>;
            0   10     1  action  Ljava/util/function/Consumer<-TT;>;
    Signature: (Ljava/util/function/Consumer<-TT;>;)Z
    MethodParameters:
        Name  Flags
      action  

  public void forEachRemaining(java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
        start local 1 // java.util.function.Consumer action
         0: .line 1030
            aload 1 /* action */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1032
            aconst_null
            astore 2 /* sb */
        start local 2 // java.util.stream.StreamSpliterators$ArrayBuffer$OfRef sb
         2: .line 1034
            goto 15
        start local 3 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus permitStatus
         3: .line 1035
      StackMap locals: java.util.stream.StreamSpliterators$ArrayBuffer$OfRef java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus
      StackMap stack:
            aload 3 /* permitStatus */
            getstatic java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus.MAYBE_MORE:Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
            if_acmpne 13
         4: .line 1037
            aload 2 /* sb */
            ifnonnull 6
         5: .line 1038
            new java.util.stream.StreamSpliterators$ArrayBuffer$OfRef
            dup
            aload 0 /* this */
            getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.chunkSize:I
            invokespecial java.util.stream.StreamSpliterators$ArrayBuffer$OfRef.<init>:(I)V
            astore 2 /* sb */
            goto 7
         6: .line 1040
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.util.stream.StreamSpliterators$ArrayBuffer$OfRef.reset:()V
         7: .line 1041
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 4 /* permitsRequested */
        start local 4 // long permitsRequested
         8: .line 1042
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.s:Ljava/util/Spliterator;
            aload 2 /* sb */
            invokeinterface java.util.Spliterator.tryAdvance:(Ljava/util/function/Consumer;)Z
            ifeq 9
            lload 4 /* permitsRequested */
            lconst_1
            ladd
            dup2
            lstore 4 /* permitsRequested */
            aload 0 /* this */
            getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.chunkSize:I
            i2l
            lcmp
            iflt 8
         9: .line 1043
      StackMap locals:
      StackMap stack:
            lload 4 /* permitsRequested */
            lconst_0
            lcmp
            ifne 11
        10: .line 1044
            return
        11: .line 1045
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 1 /* action */
            aload 0 /* this */
            lload 4 /* permitsRequested */
            invokevirtual java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.acquirePermits:(J)J
            invokevirtual java.util.stream.StreamSpliterators$ArrayBuffer$OfRef.forEach:(Ljava/util/function/Consumer;J)V
        end local 4 // long permitsRequested
        12: .line 1046
            goto 15
        13: .line 1049
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.s:Ljava/util/Spliterator;
            aload 1 /* action */
            invokeinterface java.util.Spliterator.forEachRemaining:(Ljava/util/function/Consumer;)V
        14: .line 1050
            return
        end local 3 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus permitStatus
        15: .line 1034
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.permitStatus:()Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
            dup
            astore 3 /* permitStatus */
        start local 3 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus permitStatus
        16: getstatic java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus.NO_MORE:Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
            if_acmpne 3
        17: .line 1053
            return
        end local 3 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus permitStatus
        end local 2 // java.util.stream.StreamSpliterators$ArrayBuffer$OfRef sb
        end local 1 // java.util.function.Consumer action
        end local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$OfRef<TT;>;
            0   18     1            action  Ljava/util/function/Consumer<-TT;>;
            2   18     2                sb  Ljava/util/stream/StreamSpliterators$ArrayBuffer$OfRef<TT;>;
            3   15     3      permitStatus  Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
           16   18     3      permitStatus  Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
            8   12     4  permitsRequested  J
    Signature: (Ljava/util/function/Consumer<-TT;>;)V
    MethodParameters:
        Name  Flags
      action  

  protected java.util.Spliterator<T> makeSpliterator(java.util.Spliterator<T>);
    descriptor: (Ljava/util/Spliterator;)Ljava/util/Spliterator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
        start local 1 // java.util.Spliterator s
         0: .line 1057
            new java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef
            dup
            aload 1 /* s */
            aload 0 /* this */
            invokespecial java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef.<init>:(Ljava/util/Spliterator;Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$OfRef;)V
            areturn
        end local 1 // java.util.Spliterator s
        end local 0 // java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$OfRef<TT;>;
            0    1     1     s  Ljava/util/Spliterator<TT;>;
    Signature: (Ljava/util/Spliterator<TT;>;)Ljava/util/Spliterator<TT;>;
    MethodParameters:
      Name  Flags
      s     
}
Signature: <T:Ljava/lang/Object;>Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator<TT;Ljava/util/Spliterator<TT;>;>;Ljava/util/Spliterator<TT;>;Ljava/util/function/Consumer<TT;>;
SourceFile: "StreamSpliterators.java"
NestHost: java.util.stream.StreamSpliterators
InnerClasses:
  abstract ArrayBuffer = java.util.stream.StreamSpliterators$ArrayBuffer of java.util.stream.StreamSpliterators
  final OfRef = java.util.stream.StreamSpliterators$ArrayBuffer$OfRef of java.util.stream.StreamSpliterators$ArrayBuffer
  abstract UnorderedSliceSpliterator = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator of java.util.stream.StreamSpliterators
  final OfRef = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef of java.util.stream.StreamSpliterators$UnorderedSliceSpliterator
  final PermitStatus = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus of java.util.stream.StreamSpliterators$UnorderedSliceSpliterator