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 784
            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 785
            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 787
            goto 5
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
         3: astore 0 /* e */
        start local 0 // java.lang.ReflectiveOperationException e
         4: .line 788
            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 790
      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     

  final boolean weakCompareAndSetPendingCount(int, int);
    descriptor: (II)Z
    flags: (0x0010) 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 558
            getstatic java.util.concurrent.CountedCompleter.PENDING:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            iload 1 /* expected */
            iload 2 /* count */
            invokevirtual java.lang.invoke.VarHandle.weakCompareAndSet:(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=4, locals=2, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 569
      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 570
            aload 0 /* this */
            iload 1 /* c */
            iload 1 /* c */
            iconst_1
            isub
            invokevirtual java.util.concurrent.CountedCompleter.weakCompareAndSetPendingCount:(II)Z
            ifeq 0
         3: .line 571
      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 581
            aload 0 /* this */
            astore 1 /* a */
        start local 1 // java.util.concurrent.CountedCompleter a
         1: .line 582
            goto 3
        start local 2 // java.util.concurrent.CountedCompleter p
         2: .line 583
      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 582
      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 584
            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=4, locals=4, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 594
            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 596
      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 597
            aload 1 /* a */
            aload 2 /* s */
            invokevirtual java.util.concurrent.CountedCompleter.onCompletion:(Ljava/util/concurrent/CountedCompleter;)V
         5: .line 598
            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 599
            aload 2 /* s */
            invokevirtual java.util.concurrent.CountedCompleter.quietlyComplete:()V
         7: .line 600
            return
         8: .line 603
      StackMap locals: int
      StackMap stack:
            aload 1 /* a */
            iload 3 /* c */
            iload 3 /* c */
            iconst_1
            isub
            invokevirtual java.util.concurrent.CountedCompleter.weakCompareAndSetPendingCount:(II)Z
            ifeq 2
         9: .line 604
            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=4, locals=4, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 618
            aload 0 /* this */
            astore 1 /* a */
        start local 1 // java.util.concurrent.CountedCompleter a
         1: .line 620
      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 621
            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 622
            aload 2 /* s */
            invokevirtual java.util.concurrent.CountedCompleter.quietlyComplete:()V
         6: .line 623
            return
        end local 2 // java.util.concurrent.CountedCompleter s
         7: .line 626
      StackMap locals: java.util.concurrent.CountedCompleter java.util.concurrent.CountedCompleter top int
      StackMap stack:
            aload 1 /* a */
            iload 3 /* c */
            iload 3 /* c */
            iconst_1
            isub
            invokevirtual java.util.concurrent.CountedCompleter.weakCompareAndSetPendingCount:(II)Z
            ifeq 1
         8: .line 627
            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 652
            aload 0 /* this */
            aload 1 /* rawResult */
            invokevirtual java.util.concurrent.CountedCompleter.setRawResult:(Ljava/lang/Object;)V
         1: .line 653
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CountedCompleter.onCompletion:(Ljava/util/concurrent/CountedCompleter;)V
         2: .line 654
            aload 0 /* this */
            invokevirtual java.util.concurrent.CountedCompleter.quietlyComplete:()V
         3: .line 655
            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 656
            aload 2 /* p */
            invokevirtual java.util.concurrent.CountedCompleter.tryComplete:()V
         6: .line 657
      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=4, locals=2, args_size=1
        start local 0 // java.util.concurrent.CountedCompleter this
         0: .line 669
      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 670
            aload 0 /* this */
            areturn
         3: .line 671
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* c */
            iload 1 /* c */
            iconst_1
            isub
            invokevirtual java.util.concurrent.CountedCompleter.weakCompareAndSetPendingCount:(II)Z
            ifeq 0
         4: .line 672
            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 695
            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 696
            aload 1 /* p */
            invokevirtual java.util.concurrent.CountedCompleter.firstComplete:()Ljava/util/concurrent/CountedCompleter;
            areturn
         3: .line 698
      StackMap locals: java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CountedCompleter.quietlyComplete:()V
         4: .line 699
            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 707
            aload 0 /* this */
            astore 1 /* a */
        start local 1 // java.util.concurrent.CountedCompleter a
         1: .line 708
      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 709
            aload 1 /* a */
            invokevirtual java.util.concurrent.CountedCompleter.quietlyComplete:()V
         4: .line 710
            return
         5: .line 712
      StackMap locals: java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 2 /* p */
            astore 1 /* a */
        end local 2 // java.util.concurrent.CountedCompleter p
         6: .line 707
            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=5, args_size=2
        start local 0 // java.util.concurrent.CountedCompleter this
        start local 1 // int maxTasks
         0: .line 727
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            dup
            astore 3 /* t */
        start local 3 // java.lang.Thread t
         1: instanceof java.util.concurrent.ForkJoinWorkerThread
            dup
            istore 4 /* owned */
        start local 4 // boolean owned
         2: ifeq 5
         3: .line 728
            aload 3 /* t */
            checkcast java.util.concurrent.ForkJoinWorkerThread
            getfield java.util.concurrent.ForkJoinWorkerThread.workQueue:Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            astore 2 /* q */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue q
         4: goto 6
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue q
         5: .line 730
      StackMap locals: java.util.concurrent.CountedCompleter int top java.lang.Thread int
      StackMap stack:
            invokestatic java.util.concurrent.ForkJoinPool.commonQueue:()Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            astore 2 /* q */
        start local 2 // java.util.concurrent.ForkJoinPool$WorkQueue q
         6: .line 731
      StackMap locals: java.util.concurrent.CountedCompleter int java.util.concurrent.ForkJoinPool$WorkQueue java.lang.Thread int
      StackMap stack:
            aload 2 /* q */
            ifnull 8
            iload 1 /* maxTasks */
            ifle 8
         7: .line 732
            aload 2 /* q */
            aload 0 /* this */
            iload 4 /* owned */
            iload 1 /* maxTasks */
            invokevirtual java.util.concurrent.ForkJoinPool$WorkQueue.helpComplete:(Ljava/util/concurrent/ForkJoinTask;ZI)I
            pop
         8: .line 733
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean owned
        end local 3 // java.lang.Thread t
        end local 2 // java.util.concurrent.ForkJoinPool$WorkQueue q
        end local 1 // int maxTasks
        end local 0 // java.util.concurrent.CountedCompleter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    9     1  maxTasks  I
            4    5     2         q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            6    9     2         q  Ljava/util/concurrent/ForkJoinPool$WorkQueue;
            1    9     3         t  Ljava/lang/Thread;
            2    9     4     owned  Z
    MethodParameters:
          Name  Flags
      maxTasks  

  final int trySetException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)I
    flags: (0x0010) ACC_FINAL
    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 742
            aload 0 /* this */
            astore 2 /* a */
        start local 2 // java.util.concurrent.CountedCompleter a
         1: aload 2 /* a */
            astore 3 /* p */
        start local 3 // java.util.concurrent.CountedCompleter p
         2: .line 743
      StackMap locals: java.util.concurrent.CountedCompleter java.util.concurrent.CountedCompleter
      StackMap stack:
            aload 2 /* a */
            aload 1 /* ex */
            invokevirtual java.util.concurrent.CountedCompleter.trySetThrown:(Ljava/lang/Throwable;)I
            invokestatic java.util.concurrent.CountedCompleter.isExceptionalStatus:(I)Z
            ifeq 6
         3: .line 744
            aload 2 /* a */
            aload 1 /* ex */
            aload 3 /* p */
            invokevirtual java.util.concurrent.CountedCompleter.onExceptionalCompletion:(Ljava/lang/Throwable;Ljava/util/concurrent/CountedCompleter;)Z
            ifeq 6
         4: .line 745
            aload 2 /* a */
            dup
            astore 3 /* p */
            getfield java.util.concurrent.CountedCompleter.completer:Ljava/util/concurrent/CountedCompleter;
            dup
            astore 2 /* a */
            ifnull 6
            aload 2 /* a */
            getfield java.util.concurrent.CountedCompleter.status:I
         5: .line 743
            ifge 2
         6: .line 746
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CountedCompleter.status:I
            ireturn
        end local 3 // java.util.concurrent.CountedCompleter p
        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    7     0  this  Ljava/util/concurrent/CountedCompleter<TT;>;
            0    7     1    ex  Ljava/lang/Throwable;
            1    7     2     a  Ljava/util/concurrent/CountedCompleter<*>;
            2    7     3     p  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 754
            aload 0 /* this */
            invokevirtual java.util.concurrent.CountedCompleter.compute:()V
         1: .line 755
            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 768
            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 778
            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