public abstract class java.util.concurrent.CountedCompleter<T> extends java.util.concurrent.ForkJoinTask<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: java.util.concurrent.CountedCompleter
  super_class: java.util.concurrent.ForkJoinTask
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5232453752276485070

  final java.util.concurrent.CountedCompleter<?> completer;
    descriptor: Ljava/util/concurrent/CountedCompleter;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/concurrent/CountedCompleter<*>;

  volatile int pending;
    descriptor: I
    flags: (0x0040) ACC_VOLATILE

  private static final java.lang.invoke.VarHandle PENDING;
    descriptor: Ljava/lang/invoke/VarHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 774
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            astore 0 /* l */
        start local 0 // java.lang.invoke.MethodHandles$Lookup l
         1: .line 775
            aload 0 /* l */
            ldc Ljava/util/concurrent/CountedCompleter;
            ldc "pending"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            putstatic java.util.concurrent.CountedCompleter.PENDING:Ljava/lang/invoke/VarHandle;
        end local 0 // java.lang.invoke.MethodHandles$Lookup l
         2: .line 777
            goto 5
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
         3: astore 0 /* e */
        start local 0 // java.lang.ReflectiveOperationException e
         4: .line 778
            new java.lang.ExceptionInInitializerError
            dup
            aload 0 /* e */
            invokespecial java.lang.ExceptionInInitializerError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.ReflectiveOperationException e
         5: .line 780
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0     l  Ljava/lang/invoke/MethodHandles$Lookup;
            4    5     0     e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.ReflectiveOperationException

  protected void <init>(java.util.concurrent.CountedCompleter<?>, );
    descriptor: (Ljava/util/concurrent/CountedCompleter;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // java.util.concurrent.CountedCompleter completer
        start local 2 // int initialPendingCount
         0: .line 441
            aload 0 /* this */
            invokespecial java.util.concurrent.ForkJoinTask.<init>:()V
         1: .line 443
            aload 0 /* this */
            aload 1 /* completer */
            putfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
         2: .line 444
            aload 0 /* this */
            iload 2 /* initialPendingCount */
            putfield java.util.concurrent.CountedCompleter.pending:I
         3: .line 445
            return
        end local 2 // int initialPendingCount
        end local 1 // java.util.concurrent.CountedCompleter completer
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    4     1            completer  Ljava/util/concurrent/CountedCompleter<*>;
            0    4     2  initialPendingCount  I
    Signature: (Ljava/util/concurrent/CountedCompleter<*>;I)V
    MethodParameters:
                     Name  Flags
      completer            
      initialPendingCount  

  protected void <init>(java.util.concurrent.CountedCompleter<?>);
    descriptor: (Ljava/util/concurrent/CountedCompleter;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // java.util.concurrent.CountedCompleter completer
         0: .line 453
            aload 0 /* this */
            invokespecial java.util.concurrent.ForkJoinTask.<init>:()V
         1: .line 454
            aload 0 /* this */
            aload 1 /* completer */
            putfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
         2: .line 455
            return
        end local 1 // java.util.concurrent.CountedCompleter completer
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    3     1  completer  Ljava/util/concurrent/CountedCompleter<*>;
    Signature: (Ljava/util/concurrent/CountedCompleter<*>;)V
    MethodParameters:
           Name  Flags
      completer  

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 461
            aload 0 /* this */
            invokespecial java.util.concurrent.ForkJoinTask.<init>:()V
         1: .line 462
            aload 0 /* this */
            aconst_null
            putfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
         2: .line 463
            return
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;

  public abstract void compute();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public void onCompletion(java.util.concurrent.CountedCompleter<?>);
    descriptor: (Ljava/util/concurrent/CountedCompleter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // java.util.concurrent.CountedCompleter caller
         0: .line 483
            return
        end local 1 // java.util.concurrent.CountedCompleter caller
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    1     1  caller  Ljava/util/concurrent/CountedCompleter<*>;
    Signature: (Ljava/util/concurrent/CountedCompleter<*>;)V
    MethodParameters:
        Name  Flags
      caller  

  public boolean onExceptionalCompletion(java.lang.Throwable, java.util.concurrent.CountedCompleter<?>);
    descriptor: (Ljava/lang/Throwable;Ljava/util/concurrent/CountedCompleter;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // java.lang.Throwable ex
        start local 2 // java.util.concurrent.CountedCompleter caller
         0: .line 504
            iconst_1
            ireturn
        end local 2 // java.util.concurrent.CountedCompleter caller
        end local 1 // java.lang.Throwable ex
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    1     1      ex  Ljava/lang/Throwable;
            0    1     2  caller  Ljava/util/concurrent/CountedCompleter<*>;
    Signature: (Ljava/lang/Throwable;Ljava/util/concurrent/CountedCompleter<*>;)Z
    MethodParameters:
        Name  Flags
      ex      
      caller  

  public final java.util.concurrent.CountedCompleter<?> getCompleter();
    descriptor: ()Ljava/util/concurrent/CountedCompleter;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 514
            aload 0 /* this */
            getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            areturn
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
    Signature: ()Ljava/util/concurrent/CountedCompleter<*>;

  public final int getPendingCount();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 523
            aload 0 /* this */
            getfield java.util.concurrent.CountedCompleter.pending:I
            ireturn
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;

  public final void setPendingCount(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // int count
         0: .line 532
            aload 0 /* this */
            iload 1 /* count */
            putfield java.util.concurrent.CountedCompleter.pending:I
         1: .line 533
            return
        end local 1 // int count
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    2     1  count  I
    MethodParameters:
       Name  Flags
      count  

  public final void addToPendingCount(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // int delta
         0: .line 541
            getstatic java.util.concurrent.CountedCompleter.PENDING:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 1 /* delta */
            invokevirtual java.lang.invoke.VarHandle.getAndAdd:(Ljava/util/concurrent/CountedCompleter;I)V
         1: .line 542
            return
        end local 1 // int delta
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    2     1  delta  I
    MethodParameters:
       Name  Flags
      delta  

  public final boolean compareAndSetPendingCount(int, int);
    descriptor: (II)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // int expected
        start local 2 // int count
         0: .line 553
            getstatic java.util.concurrent.CountedCompleter.PENDING:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 1 /* expected */
            iload 2 /* count */
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/CountedCompleter;II)Z
            ireturn
        end local 2 // int count
        end local 1 // int expected
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    1     1  expected  I
            0    1     2     count  I
    MethodParameters:
          Name  Flags
      expected  
      count     

  public final int decrementPendingCountUnlessZero();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CountedCompleter.pending:I
            dup
            istore 1 /* c */
        start local 1 // int c
         1: ifeq 3
         2: .line 565
            getstatic java.util.concurrent.CountedCompleter.PENDING:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 1 /* c */
            iload 1 /* c */
            iconst_1
            isub
            invokevirtual java.lang.invoke.VarHandle.weakCompareAndSet:(Ljava/util/concurrent/CountedCompleter;II)Z
            ifeq 0
         3: .line 566
      StackMap locals: int
      StackMap stack:
            iload 1 /* c */
            ireturn
        end local 1 // int c
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
            1    4     1     c  I

  public final java.util.concurrent.CountedCompleter<?> getRoot();
    descriptor: ()Ljava/util/concurrent/CountedCompleter;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 576
            aload 0 /* this */
            astore 1 /* a */
        start local 1 // java.util.concurrent.CountedCompleter a
         1: .line 577
            goto 3
        start local 2 // java.util.concurrent.CountedCompleter p
         2: .line 578
      StackMap locals: java.util.concurrent.CountedCompleter java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 2 /* p */
            astore 1 /* a */
        end local 2 // java.util.concurrent.CountedCompleter p
         3: .line 577
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            dup
            astore 2 /* p */
        start local 2 // java.util.concurrent.CountedCompleter p
         4: ifnonnull 2
         5: .line 579
            aload 1 /* a */
            areturn
        end local 2 // java.util.concurrent.CountedCompleter p
        end local 1 // java.util.concurrent.CountedCompleter a
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
            1    6     1     a  Ljava/util/concurrent/CountedCompleter<*>;
            2    3     2     p  Ljava/util/concurrent/CountedCompleter<*>;
            4    6     2     p  Ljava/util/concurrent/CountedCompleter<*>;
    Signature: ()Ljava/util/concurrent/CountedCompleter<*>;

  public final void tryComplete();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 589
            aload 0 /* this */
            astore 1 /* a */
        start local 1 // java.util.concurrent.CountedCompleter a
         1: aload 1 /* a */
            astore 2 /* s */
        start local 2 // java.util.concurrent.CountedCompleter s
         2: .line 591
      StackMap locals: java.util.concurrent.CountedCompleter java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 1 /* a */
            getfield java.util.concurrent.CountedCompleter.pending:I
            dup
            istore 3 /* c */
        start local 3 // int c
         3: ifne 8
         4: .line 592
            aload 1 /* a */
            aload 2 /* s */
            invokevirtual java.util.concurrent.CountedCompleter.onCompletion:(Ljava/util/concurrent/CountedCompleter;)V
         5: .line 593
            aload 1 /* a */
            dup
            astore 2 /* s */
            getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            dup
            astore 1 /* a */
            ifnonnull 2
         6: .line 594
            aload 2 /* s */
            invokevirtual java.util.concurrent.CountedCompleter.quietlyComplete:()V
         7: .line 595
            return
         8: .line 598
      StackMap locals: int
      StackMap stack:
            getstatic java.util.concurrent.CountedCompleter.PENDING:Ljava/lang/invoke/VarHandle;
            aload 1 /* a */
            iload 3 /* c */
            iload 3 /* c */
            iconst_1
            isub
            invokevirtual java.lang.invoke.VarHandle.weakCompareAndSet:(Ljava/util/concurrent/CountedCompleter;II)Z
            ifeq 2
         9: .line 599
            return
        end local 3 // int c
        end local 2 // java.util.concurrent.CountedCompleter s
        end local 1 // java.util.concurrent.CountedCompleter a
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
            1   10     1     a  Ljava/util/concurrent/CountedCompleter<*>;
            2   10     2     s  Ljava/util/concurrent/CountedCompleter<*>;
            3   10     3     c  I

  public final void propagateCompletion();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 613
            aload 0 /* this */
            astore 1 /* a */
        start local 1 // java.util.concurrent.CountedCompleter a
         1: .line 615
      StackMap locals: java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 1 /* a */
            getfield java.util.concurrent.CountedCompleter.pending:I
            dup
            istore 3 /* c */
        start local 3 // int c
         2: ifne 7
         3: .line 616
            aload 1 /* a */
            dup
            astore 2 /* s */
        start local 2 // java.util.concurrent.CountedCompleter s
         4: getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            dup
            astore 1 /* a */
            ifnonnull 1
         5: .line 617
            aload 2 /* s */
            invokevirtual java.util.concurrent.CountedCompleter.quietlyComplete:()V
         6: .line 618
            return
        end local 2 // java.util.concurrent.CountedCompleter s
         7: .line 621
      StackMap locals: java.util.concurrent.CountedCompleter java.util.concurrent.CountedCompleter top int
      StackMap stack:
            getstatic java.util.concurrent.CountedCompleter.PENDING:Ljava/lang/invoke/VarHandle;
            aload 1 /* a */
            iload 3 /* c */
            iload 3 /* c */
            iconst_1
            isub
            invokevirtual java.lang.invoke.VarHandle.weakCompareAndSet:(Ljava/util/concurrent/CountedCompleter;II)Z
            ifeq 1
         8: .line 622
            return
        end local 3 // int c
        end local 1 // java.util.concurrent.CountedCompleter a
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
            1    9     1     a  Ljava/util/concurrent/CountedCompleter<*>;
            4    7     2     s  Ljava/util/concurrent/CountedCompleter<*>;
            2    9     3     c  I

  public void complete();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // java.lang.Object rawResult
         0: .line 647
            aload 0 /* this */
            aload 1 /* rawResult */
            invokevirtual java.util.concurrent.CountedCompleter.setRawResult:(Ljava/lang/Object;)V
         1: .line 648
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CountedCompleter.onCompletion:(Ljava/util/concurrent/CountedCompleter;)V
         2: .line 649
            aload 0 /* this */
            invokevirtual java.util.concurrent.CountedCompleter.quietlyComplete:()V
         3: .line 650
            aload 0 /* this */
            getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            dup
            astore 2 /* p */
        start local 2 // java.util.concurrent.CountedCompleter p
         4: ifnull 6
         5: .line 651
            aload 2 /* p */
            invokevirtual java.util.concurrent.CountedCompleter.tryComplete:()V
         6: .line 652
      StackMap locals: java.util.concurrent.CountedCompleter
      StackMap stack:
            return
        end local 2 // java.util.concurrent.CountedCompleter p
        end local 1 // java.lang.Object rawResult
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    7     1  rawResult  TT;
            4    7     2          p  Ljava/util/concurrent/CountedCompleter<*>;
    Signature: (TT;)V
    MethodParameters:
           Name  Flags
      rawResult  

  public final java.util.concurrent.CountedCompleter<?> firstComplete();
    descriptor: ()Ljava/util/concurrent/CountedCompleter;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CountedCompleter.pending:I
            dup
            istore 1 /* c */
        start local 1 // int c
         1: ifne 3
         2: .line 665
            aload 0 /* this */
            areturn
         3: .line 666
      StackMap locals: int
      StackMap stack:
            getstatic java.util.concurrent.CountedCompleter.PENDING:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 1 /* c */
            iload 1 /* c */
            iconst_1
            isub
            invokevirtual java.lang.invoke.VarHandle.weakCompareAndSet:(Ljava/util/concurrent/CountedCompleter;II)Z
            ifeq 0
         4: .line 667
            aconst_null
            areturn
        end local 1 // int c
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
            1    5     1     c  I
    Signature: ()Ljava/util/concurrent/CountedCompleter<*>;

  public final java.util.concurrent.CountedCompleter<?> nextComplete();
    descriptor: ()Ljava/util/concurrent/CountedCompleter;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 690
            aload 0 /* this */
            getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            dup
            astore 1 /* p */
        start local 1 // java.util.concurrent.CountedCompleter p
         1: ifnull 3
         2: .line 691
            aload 1 /* p */
            invokevirtual java.util.concurrent.CountedCompleter.firstComplete:()Ljava/util/concurrent/CountedCompleter;
            areturn
         3: .line 693
      StackMap locals: java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CountedCompleter.quietlyComplete:()V
         4: .line 694
            aconst_null
            areturn
        end local 1 // java.util.concurrent.CountedCompleter p
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
            1    5     1     p  Ljava/util/concurrent/CountedCompleter<*>;
    Signature: ()Ljava/util/concurrent/CountedCompleter<*>;

  public final void quietlyCompleteRoot();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 702
            aload 0 /* this */
            astore 1 /* a */
        start local 1 // java.util.concurrent.CountedCompleter a
         1: .line 703
      StackMap locals: java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 1 /* a */
            getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            dup
            astore 2 /* p */
        start local 2 // java.util.concurrent.CountedCompleter p
         2: ifnonnull 5
         3: .line 704
            aload 1 /* a */
            invokevirtual java.util.concurrent.CountedCompleter.quietlyComplete:()V
         4: .line 705
            return
         5: .line 707
      StackMap locals: java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 2 /* p */
            astore 1 /* a */
        end local 2 // java.util.concurrent.CountedCompleter p
         6: .line 702
            goto 1
        end local 1 // java.util.concurrent.CountedCompleter a
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
            1    7     1     a  Ljava/util/concurrent/CountedCompleter<*>;
            2    6     2     p  Ljava/util/concurrent/CountedCompleter<*>;

  public final void helpComplete(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // int maxTasks
         0: .line 722
            iload 1 /* maxTasks */
            ifle 7
            aload 0 /* this */
            getfield java.util.concurrent.CountedCompleter.status:I
            iflt 7
         1: .line 723
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            dup
            astore 2 /* t */
        start local 2 // java.lang.Thread t
         2: instanceof java.util.concurrent.ForkJoinWorkerThread
            ifeq 6
         3: .line 724
            aload 2 /* t */
            checkcast java.util.concurrent.ForkJoinWorkerThread
            dup
            astore 3 /* wt */
        start local 3 // java.util.concurrent.ForkJoinWorkerThread wt
         4: getfield java.util.concurrent.ForkJoinWorkerThread.pool:Ljava/util/concurrent/ForkJoinPool;
         5: .line 725
            aload 3 /* wt */
            getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            aload 0 /* this */
            iload 1 /* maxTasks */
            invokevirtual java.util.concurrent.ForkJoinPool.helpComplete:(Ljava/util/concurrent/ForkJoinPool$WorkQueue;Ljava/util/concurrent/CountedCompleter;I)I
            pop
            goto 7
        end local 3 // java.util.concurrent.ForkJoinWorkerThread wt
         6: .line 727
      StackMap locals: java.lang.Thread
      StackMap stack:
            getstatic java.util.concurrent.ForkJoinPool.common:Ljava/util/concurrent/ForkJoinPool;
            aload 0 /* this */
            iload 1 /* maxTasks */
            invokevirtual java.util.concurrent.ForkJoinPool.externalHelpComplete:(Ljava/util/concurrent/CountedCompleter;I)I
            pop
        end local 2 // java.lang.Thread t
         7: .line 729
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int maxTasks
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    8     1  maxTasks  I
            2    7     2         t  Ljava/lang/Thread;
            4    6     3        wt  Ljava/util/concurrent/ForkJoinWorkerThread;
    MethodParameters:
          Name  Flags
      maxTasks  

  void internalPropagateException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // java.lang.Throwable ex
         0: .line 735
            aload 0 /* this */
            astore 2 /* a */
        start local 2 // java.util.concurrent.CountedCompleter a
         1: aload 2 /* a */
            astore 3 /* s */
        start local 3 // java.util.concurrent.CountedCompleter s
         2: .line 736
      StackMap locals: java.util.concurrent.CountedCompleter java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 2 /* a */
            aload 1 /* ex */
            aload 3 /* s */
            invokevirtual java.util.concurrent.CountedCompleter.onExceptionalCompletion:(Ljava/lang/Throwable;Ljava/util/concurrent/CountedCompleter;)Z
            ifeq 5
         3: .line 737
            aload 2 /* a */
            dup
            astore 3 /* s */
            getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            dup
            astore 2 /* a */
            ifnull 5
            aload 2 /* a */
            getfield java.util.concurrent.CountedCompleter.status:I
            iflt 5
         4: .line 738
            aload 2 /* a */
            aload 1 /* ex */
            invokevirtual java.util.concurrent.CountedCompleter.recordExceptionalCompletion:(Ljava/lang/Throwable;)I
            invokestatic java.util.concurrent.CountedCompleter.isExceptionalStatus:(I)Z
            ifne 2
         5: .line 740
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.concurrent.CountedCompleter s
        end local 2 // java.util.concurrent.CountedCompleter a
        end local 1 // java.lang.Throwable ex
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    6     1    ex  Ljava/lang/Throwable;
            1    6     2     a  Ljava/util/concurrent/CountedCompleter<*>;
            2    6     3     s  Ljava/util/concurrent/CountedCompleter<*>;
    MethodParameters:
      Name  Flags
      ex    

  protected final boolean exec();
    descriptor: ()Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 746
            aload 0 /* this */
            invokevirtual java.util.concurrent.CountedCompleter.compute:()V
         1: .line 747
            iconst_0
            ireturn
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;

  public T getRawResult();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 759
            aconst_null
            areturn
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
    Signature: ()TT;

  protected void setRawResult();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // java.lang.Object t
         0: .line 768
            return
        end local 1 // java.lang.Object t
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    1     1     t  TT;
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      t     
}
Signature: <T:Ljava/lang/Object;>Ljava/util/concurrent/ForkJoinTask<TT;>;
SourceFile: "CountedCompleter.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  final WorkQueue = java.util.concurrent.ForkJoinPool$WorkQueue of java.util.concurrent.ForkJoinPool