abstract class java.util.stream.Nodes$SizedCollectorTask<P_IN, P_OUT, T_SINK extends java.util.stream.Sink<P_OUT>, K extends java.util.stream.Nodes$SizedCollectorTask<P_IN, P_OUT, T_SINK, K>> extends java.util.concurrent.CountedCompleter<java.lang.Void> implements java.util.stream.Sink<P_OUT>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: java.util.stream.Nodes$SizedCollectorTask
  super_class: java.util.concurrent.CountedCompleter
{
  protected final java.util.Spliterator<P_IN> spliterator;
    descriptor: Ljava/util/Spliterator;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/Spliterator<TP_IN;>;

  protected final java.util.stream.PipelineHelper<P_OUT> helper;
    descriptor: Ljava/util/stream/PipelineHelper;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/stream/PipelineHelper<TP_OUT;>;

  protected final long targetSize;
    descriptor: J
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected long offset;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected long length;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected int index;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int fence;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1822
            ldc Ljava/util/stream/Nodes;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.util.stream.Nodes$SizedCollectorTask.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.util.Spliterator<P_IN>, java.util.stream.PipelineHelper<P_OUT>, );
    descriptor: (Ljava/util/Spliterator;Ljava/util/stream/PipelineHelper;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // java.util.stream.Nodes$SizedCollectorTask this
        start local 1 // java.util.Spliterator spliterator
        start local 2 // java.util.stream.PipelineHelper helper
        start local 3 // int arrayLength
         0: .line 1834
            aload 0 /* this */
            invokespecial java.util.concurrent.CountedCompleter.<init>:()V
         1: .line 1837
            getstatic java.util.stream.Nodes$SizedCollectorTask.$assertionsDisabled:Z
            ifne 2
            aload 1 /* spliterator */
            sipush 16384
            invokeinterface java.util.Spliterator.hasCharacteristics:(I)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1838
      StackMap locals: java.util.stream.Nodes$SizedCollectorTask java.util.Spliterator java.util.stream.PipelineHelper int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* spliterator */
            putfield java.util.stream.Nodes$SizedCollectorTask.spliterator:Ljava/util/Spliterator;
         3: .line 1839
            aload 0 /* this */
            aload 2 /* helper */
            putfield java.util.stream.Nodes$SizedCollectorTask.helper:Ljava/util/stream/PipelineHelper;
         4: .line 1840
            aload 0 /* this */
            aload 1 /* spliterator */
            invokeinterface java.util.Spliterator.estimateSize:()J
            invokestatic java.util.stream.AbstractTask.suggestTargetSize:(J)J
            putfield java.util.stream.Nodes$SizedCollectorTask.targetSize:J
         5: .line 1841
            aload 0 /* this */
            lconst_0
            putfield java.util.stream.Nodes$SizedCollectorTask.offset:J
         6: .line 1842
            aload 0 /* this */
            iload 3 /* arrayLength */
            i2l
            putfield java.util.stream.Nodes$SizedCollectorTask.length:J
         7: .line 1843
            return
        end local 3 // int arrayLength
        end local 2 // java.util.stream.PipelineHelper helper
        end local 1 // java.util.Spliterator spliterator
        end local 0 // java.util.stream.Nodes$SizedCollectorTask this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljava/util/stream/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;
            0    8     1  spliterator  Ljava/util/Spliterator<TP_IN;>;
            0    8     2       helper  Ljava/util/stream/PipelineHelper<TP_OUT;>;
            0    8     3  arrayLength  I
    Signature: (Ljava/util/Spliterator<TP_IN;>;Ljava/util/stream/PipelineHelper<TP_OUT;>;I)V
    MethodParameters:
             Name  Flags
      spliterator  
      helper       
      arrayLength  

  void <init>(K, java.util.Spliterator<P_IN>, long, long, );
    descriptor: (Ljava/util/stream/Nodes$SizedCollectorTask;Ljava/util/Spliterator;JJI)V
    flags: (0x0000) 
    Code:
      stack=8, locals=8, args_size=6
        start local 0 // java.util.stream.Nodes$SizedCollectorTask this
        start local 1 // java.util.stream.Nodes$SizedCollectorTask parent
        start local 2 // java.util.Spliterator spliterator
        start local 3 // long offset
        start local 5 // long length
        start local 7 // int arrayLength
         0: .line 1847
            aload 0 /* this */
            aload 1 /* parent */
            invokespecial java.util.concurrent.CountedCompleter.<init>:(Ljava/util/concurrent/CountedCompleter;)V
         1: .line 1848
            getstatic java.util.stream.Nodes$SizedCollectorTask.$assertionsDisabled:Z
            ifne 2
            aload 2 /* spliterator */
            sipush 16384
            invokeinterface java.util.Spliterator.hasCharacteristics:(I)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1849
      StackMap locals: java.util.stream.Nodes$SizedCollectorTask java.util.stream.Nodes$SizedCollectorTask java.util.Spliterator long long int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* spliterator */
            putfield java.util.stream.Nodes$SizedCollectorTask.spliterator:Ljava/util/Spliterator;
         3: .line 1850
            aload 0 /* this */
            aload 1 /* parent */
            getfield java.util.stream.Nodes$SizedCollectorTask.helper:Ljava/util/stream/PipelineHelper;
            putfield java.util.stream.Nodes$SizedCollectorTask.helper:Ljava/util/stream/PipelineHelper;
         4: .line 1851
            aload 0 /* this */
            aload 1 /* parent */
            getfield java.util.stream.Nodes$SizedCollectorTask.targetSize:J
            putfield java.util.stream.Nodes$SizedCollectorTask.targetSize:J
         5: .line 1852
            aload 0 /* this */
            lload 3 /* offset */
            putfield java.util.stream.Nodes$SizedCollectorTask.offset:J
         6: .line 1853
            aload 0 /* this */
            lload 5 /* length */
            putfield java.util.stream.Nodes$SizedCollectorTask.length:J
         7: .line 1855
            lload 3 /* offset */
            lconst_0
            lcmp
            iflt 8
            lload 5 /* length */
            lconst_0
            lcmp
            iflt 8
            lload 3 /* offset */
            lload 5 /* length */
            ladd
            lconst_1
            lsub
            iload 7 /* arrayLength */
            i2l
            lcmp
            iflt 13
         8: .line 1856
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         9: .line 1857
            ldc "offset and length interval [%d, %d + %d) is not within array size interval [0, %d)"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 1858
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 5 /* length */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            iload 7 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        11: .line 1857
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        12: .line 1856
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1860
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int arrayLength
        end local 5 // long length
        end local 3 // long offset
        end local 2 // java.util.Spliterator spliterator
        end local 1 // java.util.stream.Nodes$SizedCollectorTask parent
        end local 0 // java.util.stream.Nodes$SizedCollectorTask this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Ljava/util/stream/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;
            0   14     1       parent  TK;
            0   14     2  spliterator  Ljava/util/Spliterator<TP_IN;>;
            0   14     3       offset  J
            0   14     5       length  J
            0   14     7  arrayLength  I
    Signature: (TK;Ljava/util/Spliterator<TP_IN;>;JJI)V
    MethodParameters:
             Name  Flags
      parent       
      spliterator  
      offset       
      length       
      arrayLength  

  public void compute();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=1
        start local 0 // java.util.stream.Nodes$SizedCollectorTask this
         0: .line 1864
            aload 0 /* this */
            astore 1 /* task */
        start local 1 // java.util.stream.Nodes$SizedCollectorTask task
         1: .line 1865
            aload 0 /* this */
            getfield java.util.stream.Nodes$SizedCollectorTask.spliterator:Ljava/util/Spliterator;
            astore 2 /* rightSplit */
        start local 2 // java.util.Spliterator rightSplit
         2: .line 1866
            goto 9
        start local 3 // java.util.Spliterator leftSplit
         3: .line 1868
      StackMap locals: java.util.stream.Nodes$SizedCollectorTask java.util.Spliterator java.util.Spliterator
      StackMap stack:
            aload 1 /* task */
            iconst_1
            invokevirtual java.util.stream.Nodes$SizedCollectorTask.setPendingCount:(I)V
         4: .line 1869
            aload 3 /* leftSplit */
            invokeinterface java.util.Spliterator.estimateSize:()J
            lstore 4 /* leftSplitSize */
        start local 4 // long leftSplitSize
         5: .line 1870
            aload 1 /* task */
            aload 3 /* leftSplit */
            aload 1 /* task */
            getfield java.util.stream.Nodes$SizedCollectorTask.offset:J
            lload 4 /* leftSplitSize */
            invokevirtual java.util.stream.Nodes$SizedCollectorTask.makeChild:(Ljava/util/Spliterator;JJ)Ljava/util/stream/Nodes$SizedCollectorTask;
            invokevirtual java.util.stream.Nodes$SizedCollectorTask.fork:()Ljava/util/concurrent/ForkJoinTask;
            pop
         6: .line 1871
            aload 1 /* task */
            aload 2 /* rightSplit */
            aload 1 /* task */
            getfield java.util.stream.Nodes$SizedCollectorTask.offset:J
            lload 4 /* leftSplitSize */
            ladd
         7: .line 1872
            aload 1 /* task */
            getfield java.util.stream.Nodes$SizedCollectorTask.length:J
            lload 4 /* leftSplitSize */
            lsub
         8: .line 1871
            invokevirtual java.util.stream.Nodes$SizedCollectorTask.makeChild:(Ljava/util/Spliterator;JJ)Ljava/util/stream/Nodes$SizedCollectorTask;
            astore 1 /* task */
        end local 4 // long leftSplitSize
        end local 3 // java.util.Spliterator leftSplit
         9: .line 1866
      StackMap locals:
      StackMap stack:
            aload 2 /* rightSplit */
            invokeinterface java.util.Spliterator.estimateSize:()J
            aload 1 /* task */
            getfield java.util.stream.Nodes$SizedCollectorTask.targetSize:J
            lcmp
            ifle 12
        10: .line 1867
            aload 2 /* rightSplit */
            invokeinterface java.util.Spliterator.trySplit:()Ljava/util/Spliterator;
            dup
            astore 3 /* leftSplit */
        start local 3 // java.util.Spliterator leftSplit
        11: ifnonnull 3
        end local 3 // java.util.Spliterator leftSplit
        12: .line 1875
      StackMap locals:
      StackMap stack:
            getstatic java.util.stream.Nodes$SizedCollectorTask.$assertionsDisabled:Z
            ifne 13
            aload 1 /* task */
            getfield java.util.stream.Nodes$SizedCollectorTask.offset:J
            aload 1 /* task */
            getfield java.util.stream.Nodes$SizedCollectorTask.length:J
            ladd
            ldc 2147483639
            lcmp
            iflt 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 1877
      StackMap locals:
      StackMap stack:
            aload 1 /* task */
            astore 4 /* sink */
        start local 4 // java.util.stream.Sink sink
        14: .line 1878
            aload 1 /* task */
            getfield java.util.stream.Nodes$SizedCollectorTask.helper:Ljava/util/stream/PipelineHelper;
            aload 4 /* sink */
            aload 2 /* rightSplit */
            invokevirtual java.util.stream.PipelineHelper.wrapAndCopyInto:(Ljava/util/stream/Sink;Ljava/util/Spliterator;)Ljava/util/stream/Sink;
            pop
        15: .line 1879
            aload 1 /* task */
            invokevirtual java.util.stream.Nodes$SizedCollectorTask.propagateCompletion:()V
        16: .line 1880
            return
        end local 4 // java.util.stream.Sink sink
        end local 2 // java.util.Spliterator rightSplit
        end local 1 // java.util.stream.Nodes$SizedCollectorTask task
        end local 0 // java.util.stream.Nodes$SizedCollectorTask this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Ljava/util/stream/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;
            1   17     1           task  Ljava/util/stream/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;
            2   17     2     rightSplit  Ljava/util/Spliterator<TP_IN;>;
            3    9     3      leftSplit  Ljava/util/Spliterator<TP_IN;>;
           11   12     3      leftSplit  Ljava/util/Spliterator<TP_IN;>;
            5    9     4  leftSplitSize  J
           14   17     4           sink  TT_SINK;

  abstract K makeChild(java.util.Spliterator<P_IN>, long, );
    descriptor: (Ljava/util/Spliterator;JJ)Ljava/util/stream/Nodes$SizedCollectorTask;
    flags: (0x0400) ACC_ABSTRACT
    Signature: (Ljava/util/Spliterator<TP_IN;>;JJ)TK;
    MethodParameters:
             Name  Flags
      spliterator  
      offset       
      size         

  public void begin(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.stream.Nodes$SizedCollectorTask this
        start local 1 // long size
         0: .line 1886
            lload 1 /* size */
            aload 0 /* this */
            getfield java.util.stream.Nodes$SizedCollectorTask.length:J
            lcmp
            ifle 2
         1: .line 1887
            new java.lang.IllegalStateException
            dup
            ldc "size passed to Sink.begin exceeds array length"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1891
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.stream.Nodes$SizedCollectorTask.offset:J
            l2i
            putfield java.util.stream.Nodes$SizedCollectorTask.index:I
         3: .line 1892
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.stream.Nodes$SizedCollectorTask.index:I
            aload 0 /* this */
            getfield java.util.stream.Nodes$SizedCollectorTask.length:J
            l2i
            iadd
            putfield java.util.stream.Nodes$SizedCollectorTask.fence:I
         4: .line 1893
            return
        end local 1 // long size
        end local 0 // java.util.stream.Nodes$SizedCollectorTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/stream/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;
            0    5     1  size  J
    MethodParameters:
      Name  Flags
      size  
}
Signature: <P_IN:Ljava/lang/Object;P_OUT:Ljava/lang/Object;T_SINK::Ljava/util/stream/Sink<TP_OUT;>;K:Ljava/util/stream/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;>Ljava/util/concurrent/CountedCompleter<Ljava/lang/Void;>;Ljava/util/stream/Sink<TP_OUT;>;
SourceFile: "Nodes.java"
NestHost: java.util.stream.Nodes
InnerClasses:
  private abstract SizedCollectorTask = java.util.stream.Nodes$SizedCollectorTask of java.util.stream.Nodes
  final OfDouble = java.util.stream.Nodes$SizedCollectorTask$OfDouble of java.util.stream.Nodes$SizedCollectorTask
  final OfInt = java.util.stream.Nodes$SizedCollectorTask$OfInt of java.util.stream.Nodes$SizedCollectorTask
  final OfLong = java.util.stream.Nodes$SizedCollectorTask$OfLong of java.util.stream.Nodes$SizedCollectorTask
  final OfRef = java.util.stream.Nodes$SizedCollectorTask$OfRef of java.util.stream.Nodes$SizedCollectorTask