public class java.util.concurrent.CompletableFuture<T> implements java.util.concurrent.Future<T>, java.util.concurrent.CompletionStage<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.util.concurrent.CompletableFuture
  super_class: java.lang.Object
{
  volatile java.lang.Object result;
    descriptor: Ljava/lang/Object;
    flags: (0x0040) ACC_VOLATILE

  volatile java.util.concurrent.CompletableFuture$Completion stack;
    descriptor: Ljava/util/concurrent/CompletableFuture$Completion;
    flags: (0x0040) ACC_VOLATILE

  static final java.util.concurrent.CompletableFuture$AltResult NIL;
    descriptor: Ljava/util/concurrent/CompletableFuture$AltResult;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final boolean useCommonPool;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.concurrent.Executor asyncPool;
    descriptor: Ljava/util/concurrent/Executor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final int SYNC;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int ASYNC;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int NESTED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final int SPINS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.misc.Unsafe UNSAFE;
    descriptor: Lsun/misc/Unsafe;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long RESULT;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long STACK;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long NEXT;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 249
            new java.util.concurrent.CompletableFuture$AltResult
            dup
            aconst_null
            invokespecial java.util.concurrent.CompletableFuture$AltResult.<init>:(Ljava/lang/Throwable;)V
            putstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
         1: .line 394
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            iconst_1
            if_icmple 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
         3: .line 393
      StackMap locals:
      StackMap stack: int
            putstatic java.util.concurrent.CompletableFuture.useCommonPool:Z
         4: .line 400
            getstatic java.util.concurrent.CompletableFuture.useCommonPool:Z
            ifeq 6
         5: .line 401
            invokestatic java.util.concurrent.ForkJoinPool.commonPool:()Ljava/util/concurrent/ForkJoinPool;
            goto 7
      StackMap locals:
      StackMap stack:
         6: new java.util.concurrent.CompletableFuture$ThreadPerTaskExecutor
            dup
            invokespecial java.util.concurrent.CompletableFuture$ThreadPerTaskExecutor.<init>:()V
         7: .line 400
      StackMap locals:
      StackMap stack: java.util.concurrent.Executor
            putstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
         8: .line 435
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.availableProcessors:()I
            iconst_1
            if_icmple 10
         9: .line 436
            sipush 256
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
        11: .line 435
      StackMap locals:
      StackMap stack: int
            putstatic java.util.concurrent.CompletableFuture.SPINS:I
        12: .line 2388
            invokestatic sun.misc.Unsafe.getUnsafe:()Lsun/misc/Unsafe;
            dup
            astore 0 /* u */
        start local 0 // sun.misc.Unsafe u
        13: putstatic java.util.concurrent.CompletableFuture.UNSAFE:Lsun/misc/Unsafe;
        14: .line 2389
            ldc Ljava/util/concurrent/CompletableFuture;
            astore 1 /* k */
        start local 1 // java.lang.Class k
        15: .line 2390
            aload 0 /* u */
            aload 1 /* k */
            ldc "result"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.CompletableFuture.RESULT:J
        16: .line 2391
            aload 0 /* u */
            aload 1 /* k */
            ldc "stack"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.CompletableFuture.STACK:J
        17: .line 2392
            aload 0 /* u */
        18: .line 2393
            ldc Ljava/util/concurrent/CompletableFuture$Completion;
            ldc "next"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
        19: .line 2392
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic java.util.concurrent.CompletableFuture.NEXT:J
        end local 1 // java.lang.Class k
        end local 0 // sun.misc.Unsafe u
        20: .line 2394
            goto 23
      StackMap locals:
      StackMap stack: java.lang.Exception
        21: astore 0 /* x */
        start local 0 // java.lang.Exception x
        22: .line 2395
            new java.lang.Error
            dup
            aload 0 /* x */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception x
        23: .line 2397
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           13   20     0     u  Lsun/misc/Unsafe;
           15   20     1     k  Ljava/lang/Class<*>;
           22   23     0     x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          12    20      21  Class java.lang.Exception

  final boolean internalComplete(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object r
         0: .line 222
            getstatic java.util.concurrent.CompletableFuture.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.RESULT:J
            aconst_null
            aload 1 /* r */
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object r
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1     r  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      r     

  final boolean casStack(java.util.concurrent.CompletableFuture$Completion, java.util.concurrent.CompletableFuture$Completion);
    descriptor: (Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture$Completion cmp
        start local 2 // java.util.concurrent.CompletableFuture$Completion val
         0: .line 226
            getstatic java.util.concurrent.CompletableFuture.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.STACK:J
            aload 1 /* cmp */
            aload 2 /* val */
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.util.concurrent.CompletableFuture$Completion val
        end local 1 // java.util.concurrent.CompletableFuture$Completion cmp
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1   cmp  Ljava/util/concurrent/CompletableFuture$Completion;
            0    1     2   val  Ljava/util/concurrent/CompletableFuture$Completion;
    MethodParameters:
      Name  Flags
      cmp   
      val   

  final boolean tryPushStack(java.util.concurrent.CompletableFuture$Completion);
    descriptor: (Ljava/util/concurrent/CompletableFuture$Completion;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture$Completion c
         0: .line 231
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 2 /* h */
        start local 2 // java.util.concurrent.CompletableFuture$Completion h
         1: .line 232
            aload 1 /* c */
            aload 2 /* h */
            invokestatic java.util.concurrent.CompletableFuture.lazySetNext:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)V
         2: .line 233
            getstatic java.util.concurrent.CompletableFuture.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.STACK:J
            aload 2 /* h */
            aload 1 /* c */
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.util.concurrent.CompletableFuture$Completion h
        end local 1 // java.util.concurrent.CompletableFuture$Completion c
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    3     1     c  Ljava/util/concurrent/CompletableFuture$Completion;
            1    3     2     h  Ljava/util/concurrent/CompletableFuture$Completion;
    MethodParameters:
      Name  Flags
      c     

  final void pushStack(java.util.concurrent.CompletableFuture$Completion);
    descriptor: (Ljava/util/concurrent/CompletableFuture$Completion;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture$Completion c
         0: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 0
         1: .line 239
            return
        end local 1 // java.util.concurrent.CompletableFuture$Completion c
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    2     1     c  Ljava/util/concurrent/CompletableFuture$Completion;
    MethodParameters:
      Name  Flags
      c     

  final boolean completeNull();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 253
            getstatic java.util.concurrent.CompletableFuture.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.RESULT:J
            aconst_null
         1: .line 254
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
         2: .line 253
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;

  final  encodeValue(T);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object t
         0: .line 259
            aload 1 /* t */
            ifnonnull 1
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* t */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 1 // java.lang.Object t
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    3     1     t  TT;
    Signature: (TT;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      t     

  final boolean completeValue();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object t
         0: .line 264
            getstatic java.util.concurrent.CompletableFuture.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.RESULT:J
            aconst_null
         1: .line 265
            aload 1 /* t */
            ifnonnull 2
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            goto 3
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack: sun.misc.Unsafe java.util.concurrent.CompletableFuture long null
         2: aload 1 /* t */
         3: .line 264
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack: sun.misc.Unsafe java.util.concurrent.CompletableFuture long null java.lang.Object
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object t
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    4     1     t  TT;
    Signature: (TT;)Z
    MethodParameters:
      Name  Flags
      t     

  static java.util.concurrent.CompletableFuture$AltResult encodeThrowable(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Throwable x
         0: .line 273
            new java.util.concurrent.CompletableFuture$AltResult
            dup
            aload 0 /* x */
            instanceof java.util.concurrent.CompletionException
            ifeq 1
            aload 0 /* x */
            goto 2
         1: .line 274
      StackMap locals: java.lang.Throwable
      StackMap stack: new 0 new 0
            new java.util.concurrent.CompletionException
            dup
            aload 0 /* x */
            invokespecial java.util.concurrent.CompletionException.<init>:(Ljava/lang/Throwable;)V
         2: .line 273
      StackMap locals: java.lang.Throwable
      StackMap stack: new 0 new 0 java.lang.Throwable
            invokespecial java.util.concurrent.CompletableFuture$AltResult.<init>:(Ljava/lang/Throwable;)V
            areturn
        end local 0 // java.lang.Throwable x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     x  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      x     

  final boolean completeThrowable(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Throwable x
         0: .line 279
            getstatic java.util.concurrent.CompletableFuture.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.RESULT:J
            aconst_null
         1: .line 280
            aload 1 /* x */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
         2: .line 279
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Throwable x
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    3     1     x  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      x     

  static java.lang.Object encodeThrowable(java.lang.Throwable, java.lang.Object);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Throwable x
        start local 1 // java.lang.Object r
         0: .line 291
            aload 0 /* x */
            instanceof java.util.concurrent.CompletionException
            ifne 2
         1: .line 292
            new java.util.concurrent.CompletionException
            dup
            aload 0 /* x */
            invokespecial java.util.concurrent.CompletionException.<init>:(Ljava/lang/Throwable;)V
            astore 0 /* x */
            goto 4
         2: .line 293
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 4
            aload 0 /* x */
            aload 1 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            if_acmpne 4
         3: .line 294
            aload 1 /* r */
            areturn
         4: .line 295
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture$AltResult
            dup
            aload 0 /* x */
            invokespecial java.util.concurrent.CompletableFuture$AltResult.<init>:(Ljava/lang/Throwable;)V
            areturn
        end local 1 // java.lang.Object r
        end local 0 // java.lang.Throwable x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     x  Ljava/lang/Throwable;
            0    5     1     r  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      x     
      r     

  final boolean completeThrowable(java.lang.Throwable, java.lang.Object);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/Object;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Throwable x
        start local 2 // java.lang.Object r
         0: .line 307
            getstatic java.util.concurrent.CompletableFuture.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.RESULT:J
            aconst_null
         1: .line 308
            aload 1 /* x */
            aload 2 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 307
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.Object r
        end local 1 // java.lang.Throwable x
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    3     1     x  Ljava/lang/Throwable;
            0    3     2     r  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      x     
      r     

   encodeOutcome(T, java.lang.Throwable);
    descriptor: (Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object t
        start local 2 // java.lang.Throwable x
         0: .line 317
            aload 2 /* x */
            ifnonnull 2
            aload 1 /* t */
            ifnonnull 1
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 1 /* t */
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 2 /* x */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 2 // java.lang.Throwable x
        end local 1 // java.lang.Object t
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    4     1     t  TT;
            0    4     2     x  Ljava/lang/Throwable;
    Signature: (TT;Ljava/lang/Throwable;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      t     
      x     

  static java.lang.Object encodeRelay(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Object r
         0: .line 326
            aload 0 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 5
         1: .line 327
            aload 0 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 1 /* x */
        start local 1 // java.lang.Throwable x
         2: ifnull 5
         3: .line 328
            aload 1 /* x */
            instanceof java.util.concurrent.CompletionException
            ifne 5
         4: .line 329
            new java.util.concurrent.CompletableFuture$AltResult
            dup
            new java.util.concurrent.CompletionException
            dup
            aload 1 /* x */
            invokespecial java.util.concurrent.CompletionException.<init>:(Ljava/lang/Throwable;)V
            invokespecial java.util.concurrent.CompletableFuture$AltResult.<init>:(Ljava/lang/Throwable;)V
            goto 6
        end local 1 // java.lang.Throwable x
      StackMap locals:
      StackMap stack:
         5: aload 0 /* r */
         6: .line 326
      StackMap locals:
      StackMap stack: java.lang.Object
            areturn
        end local 0 // java.lang.Object r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     r  Ljava/lang/Object;
            2    5     1     x  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      r     

  final boolean completeRelay(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object r
         0: .line 337
            getstatic java.util.concurrent.CompletableFuture.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.RESULT:J
            aconst_null
         1: .line 338
            aload 1 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeRelay:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 337
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object r
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    3     1     r  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      r     

  private static <T> T reportGet();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Object r
         0: .line 346
            aload 0 /* r */
            ifnonnull 2
         1: .line 347
            new java.lang.InterruptedException
            dup
            invokespecial java.lang.InterruptedException.<init>:()V
            athrow
         2: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 13
         3: .line 350
            aload 0 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 1 /* x */
        start local 1 // java.lang.Throwable x
         4: ifnonnull 6
         5: .line 351
            aconst_null
            areturn
         6: .line 352
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* x */
            instanceof java.util.concurrent.CancellationException
            ifeq 8
         7: .line 353
            aload 1 /* x */
            checkcast java.util.concurrent.CancellationException
            athrow
         8: .line 354
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.util.concurrent.CompletionException
            ifeq 12
         9: .line 355
            aload 1 /* x */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            dup
            astore 2 /* cause */
        start local 2 // java.lang.Throwable cause
        10: ifnull 12
        11: .line 356
            aload 2 /* cause */
            astore 1 /* x */
        end local 2 // java.lang.Throwable cause
        12: .line 357
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.ExecutionException
            dup
            aload 1 /* x */
            invokespecial java.util.concurrent.ExecutionException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Throwable x
        13: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            astore 1 /* t */
        start local 1 // java.lang.Object t
        14: .line 360
            aload 1 /* t */
            areturn
        end local 1 // java.lang.Object t
        end local 0 // java.lang.Object r
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0      r  Ljava/lang/Object;
            4   13     1      x  Ljava/lang/Throwable;
           10   12     2  cause  Ljava/lang/Throwable;
           14   15     1      t  TT;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;)TT;
    MethodParameters:
      Name  Flags
      r     

  private static <T> T reportJoin();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Object r
         0: .line 367
            aload 0 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 9
         1: .line 369
            aload 0 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 1 /* x */
        start local 1 // java.lang.Throwable x
         2: ifnonnull 4
         3: .line 370
            aconst_null
            areturn
         4: .line 371
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* x */
            instanceof java.util.concurrent.CancellationException
            ifeq 6
         5: .line 372
            aload 1 /* x */
            checkcast java.util.concurrent.CancellationException
            athrow
         6: .line 373
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.util.concurrent.CompletionException
            ifeq 8
         7: .line 374
            aload 1 /* x */
            checkcast java.util.concurrent.CompletionException
            athrow
         8: .line 375
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletionException
            dup
            aload 1 /* x */
            invokespecial java.util.concurrent.CompletionException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Throwable x
         9: .line 377
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            astore 1 /* t */
        start local 1 // java.lang.Object t
        10: .line 378
            aload 1 /* t */
            areturn
        end local 1 // java.lang.Object t
        end local 0 // java.lang.Object r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0     r  Ljava/lang/Object;
            2    9     1     x  Ljava/lang/Throwable;
           10   11     1     t  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;)TT;
    MethodParameters:
      Name  Flags
      r     

  static java.util.concurrent.Executor screenExecutor(java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.Executor e
         0: .line 413
            getstatic java.util.concurrent.CompletableFuture.useCommonPool:Z
            ifne 2
            aload 0 /* e */
            invokestatic java.util.concurrent.ForkJoinPool.commonPool:()Ljava/util/concurrent/ForkJoinPool;
            if_acmpne 2
         1: .line 414
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            areturn
         2: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* e */
            ifnonnull 3
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         3: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* e */
            areturn
        end local 0 // java.util.concurrent.Executor e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     e  Ljava/util/concurrent/Executor;
    MethodParameters:
      Name  Flags
      e     

  static void lazySetNext(java.util.concurrent.CompletableFuture$Completion, java.util.concurrent.CompletableFuture$Completion);
    descriptor: (Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture$Completion c
        start local 1 // java.util.concurrent.CompletableFuture$Completion next
         0: .line 463
            getstatic java.util.concurrent.CompletableFuture.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* c */
            getstatic java.util.concurrent.CompletableFuture.NEXT:J
            aload 1 /* next */
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
         1: .line 464
            return
        end local 1 // java.util.concurrent.CompletableFuture$Completion next
        end local 0 // java.util.concurrent.CompletableFuture$Completion c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  Ljava/util/concurrent/CompletableFuture$Completion;
            0    2     1  next  Ljava/util/concurrent/CompletableFuture$Completion;
    MethodParameters:
      Name  Flags
      c     
      next  

  final void postComplete();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 476
            aload 0 /* this */
            astore 1 /* f */
        start local 1 // java.util.concurrent.CompletableFuture f
         1: .line 477
            goto 13
        start local 2 // java.util.concurrent.CompletableFuture$Completion h
         2: .line 480
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            aload 1 /* f */
            aload 2 /* h */
            aload 2 /* h */
            getfield java.util.concurrent.CompletableFuture$Completion.next:Ljava/util/concurrent/CompletableFuture$Completion;
            dup
            astore 4 /* t */
        start local 4 // java.util.concurrent.CompletableFuture$Completion t
         3: invokevirtual java.util.concurrent.CompletableFuture.casStack:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 13
         4: .line 481
            aload 4 /* t */
            ifnull 9
         5: .line 482
            aload 1 /* f */
            aload 0 /* this */
            if_acmpeq 8
         6: .line 483
            aload 0 /* this */
            aload 2 /* h */
            invokevirtual java.util.concurrent.CompletableFuture.pushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)V
         7: .line 484
            goto 13
         8: .line 486
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture$Completion top java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            aload 2 /* h */
            aconst_null
            putfield java.util.concurrent.CompletableFuture$Completion.next:Ljava/util/concurrent/CompletableFuture$Completion;
         9: .line 488
      StackMap locals:
      StackMap stack:
            aload 2 /* h */
            iconst_m1
            invokevirtual java.util.concurrent.CompletableFuture$Completion.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            dup
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
        10: ifnonnull 11
            aload 0 /* this */
            goto 12
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture$Completion java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
        11: aload 3 /* d */
      StackMap locals:
      StackMap stack: java.util.concurrent.CompletableFuture
        12: astore 1 /* f */
        end local 4 // java.util.concurrent.CompletableFuture$Completion t
        end local 3 // java.util.concurrent.CompletableFuture d
        end local 2 // java.util.concurrent.CompletableFuture$Completion h
        13: .line 477
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            dup
            astore 2 /* h */
        start local 2 // java.util.concurrent.CompletableFuture$Completion h
        14: ifnonnull 2
        15: .line 478
            aload 1 /* f */
            aload 0 /* this */
            if_acmpeq 16
            aload 0 /* this */
            dup
            astore 1 /* f */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            dup
            astore 2 /* h */
            ifnonnull 2
        16: .line 491
      StackMap locals: java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            return
        end local 2 // java.util.concurrent.CompletableFuture$Completion h
        end local 1 // java.util.concurrent.CompletableFuture f
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            1   17     1     f  Ljava/util/concurrent/CompletableFuture<*>;
            2   13     2     h  Ljava/util/concurrent/CompletableFuture$Completion;
           14   17     2     h  Ljava/util/concurrent/CompletableFuture$Completion;
           10   13     3     d  Ljava/util/concurrent/CompletableFuture<*>;
            3   13     4     t  Ljava/util/concurrent/CompletableFuture$Completion;

  final void cleanStack();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 495
            aconst_null
            astore 1 /* p */
        start local 1 // java.util.concurrent.CompletableFuture$Completion p
         1: aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 2 /* q */
        start local 2 // java.util.concurrent.CompletableFuture$Completion q
         2: goto 17
         3: .line 496
      StackMap locals: java.util.concurrent.CompletableFuture$Completion java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            aload 2 /* q */
            getfield java.util.concurrent.CompletableFuture$Completion.next:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 3 /* s */
        start local 3 // java.util.concurrent.CompletableFuture$Completion s
         4: .line 497
            aload 2 /* q */
            invokevirtual java.util.concurrent.CompletableFuture$Completion.isLive:()Z
            ifeq 8
         5: .line 498
            aload 2 /* q */
            astore 1 /* p */
         6: .line 499
            aload 3 /* s */
            astore 2 /* q */
         7: .line 500
            goto 17
         8: .line 501
      StackMap locals: java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            aload 1 /* p */
            ifnonnull 12
         9: .line 502
            aload 0 /* this */
            aload 2 /* q */
            aload 3 /* s */
            invokevirtual java.util.concurrent.CompletableFuture.casStack:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)Z
            pop
        10: .line 503
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 2 /* q */
        11: .line 504
            goto 17
        12: .line 506
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            aload 3 /* s */
            putfield java.util.concurrent.CompletableFuture$Completion.next:Ljava/util/concurrent/CompletableFuture$Completion;
        13: .line 507
            aload 1 /* p */
            invokevirtual java.util.concurrent.CompletableFuture$Completion.isLive:()Z
            ifeq 15
        14: .line 508
            aload 3 /* s */
            astore 2 /* q */
            goto 17
        15: .line 510
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* p */
        16: .line 511
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 2 /* q */
        end local 3 // java.util.concurrent.CompletableFuture$Completion s
        17: .line 495
      StackMap locals:
      StackMap stack:
            aload 2 /* q */
            ifnonnull 3
        end local 2 // java.util.concurrent.CompletableFuture$Completion q
        end local 1 // java.util.concurrent.CompletableFuture$Completion p
        18: .line 515
            return
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            1   18     1     p  Ljava/util/concurrent/CompletableFuture$Completion;
            2   18     2     q  Ljava/util/concurrent/CompletableFuture$Completion;
            4   17     3     s  Ljava/util/concurrent/CompletableFuture$Completion;

  final void push(java.util.concurrent.CompletableFuture$UniCompletion<?, ?>);
    descriptor: (Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture$UniCompletion c
         0: .line 553
            aload 1 /* c */
            ifnull 4
         1: .line 554
            goto 3
         2: .line 555
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            aconst_null
            invokestatic java.util.concurrent.CompletableFuture.lazySetNext:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)V
         3: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 4
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 2
         4: .line 557
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.concurrent.CompletableFuture$UniCompletion c
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    5     1     c  Ljava/util/concurrent/CompletableFuture$UniCompletion<**>;
    Signature: (Ljava/util/concurrent/CompletableFuture$UniCompletion<**>;)V
    MethodParameters:
      Name  Flags
      c     

  final java.util.concurrent.CompletableFuture<T> postFire(java.util.concurrent.CompletableFuture<?>, int);
    descriptor: (Ljava/util/concurrent/CompletableFuture;I)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // int mode
         0: .line 565
            aload 1 /* a */
            ifnull 4
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            ifnull 4
         1: .line 566
            iload 2 /* mode */
            iflt 2
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 3
         2: .line 567
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            invokevirtual java.util.concurrent.CompletableFuture.cleanStack:()V
            goto 4
         3: .line 569
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         4: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 8
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            ifnull 8
         5: .line 572
            iload 2 /* mode */
            ifge 7
         6: .line 573
            aload 0 /* this */
            areturn
         7: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         8: .line 577
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int mode
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    9     1     a  Ljava/util/concurrent/CompletableFuture<*>;
            0    9     2  mode  I
    Signature: (Ljava/util/concurrent/CompletableFuture<*>;I)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
      Name  Flags
      a     
      mode  

  final <S> boolean uniApply(java.util.concurrent.CompletableFuture<S>, java.util.function.Function<? super S, ? extends T>, java.util.concurrent.CompletableFuture$UniApply<S, T>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniApply;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.function.Function f
        start local 3 // java.util.concurrent.CompletableFuture$UniApply c
         0: .line 602
            aload 1 /* a */
            ifnull 2
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         1: ifnull 2
            aload 2 /* f */
            ifnonnull 3
        end local 4 // java.lang.Object r
         2: .line 603
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 4 // java.lang.Object r
         3: .line 604
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 17
         4: .line 605
            aload 4 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 10
         5: .line 606
            aload 4 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 5 /* x */
        start local 5 // java.lang.Throwable x
         6: ifnull 9
         7: .line 607
            aload 0 /* this */
            aload 5 /* x */
            aload 4 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
         8: .line 608
            goto 17
         9: .line 610
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 4 /* r */
        end local 5 // java.lang.Throwable x
        10: .line 613
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            ifnull 12
            aload 3 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$UniApply.claim:()Z
            ifne 12
        11: .line 614
            iconst_0
            ireturn
        12: .line 615
      StackMap locals:
      StackMap stack:
            aload 4 /* r */
            astore 6 /* s */
        start local 6 // java.lang.Object s
        13: .line 616
            aload 0 /* this */
            aload 2 /* f */
            aload 6 /* s */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.util.concurrent.CompletableFuture.completeValue:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.Object s
        14: .line 617
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        16: .line 618
            aload 0 /* this */
            aload 6 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 6 // java.lang.Throwable ex
        17: .line 621
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.Object r
        end local 3 // java.util.concurrent.CompletableFuture$UniApply c
        end local 2 // java.util.function.Function f
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   18     1     a  Ljava/util/concurrent/CompletableFuture<TS;>;
            0   18     2     f  Ljava/util/function/Function<-TS;+TT;>;
            0   18     3     c  Ljava/util/concurrent/CompletableFuture$UniApply<TS;TT;>;
            1    2     4     r  Ljava/lang/Object;
            3   18     4     r  Ljava/lang/Object;
            6   10     5     x  Ljava/lang/Throwable;
           13   14     6     s  TS;
           16   17     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    11      15  Class java.lang.Throwable
          12    14      15  Class java.lang.Throwable
    Signature: <S:Ljava/lang/Object;>(Ljava/util/concurrent/CompletableFuture<TS;>;Ljava/util/function/Function<-TS;+TT;>;Ljava/util/concurrent/CompletableFuture$UniApply<TS;TT;>;)Z
    MethodParameters:
      Name  Flags
      a     
      f     
      c     

  private <V> java.util.concurrent.CompletableFuture<V> uniApplyStage(java.util.concurrent.Executor, java.util.function.Function<? super T, ? extends V>);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.util.function.Function f
         0: .line 626
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 627
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
         2: .line 628
            aload 1 /* e */
            ifnonnull 3
            aload 3 /* d */
            aload 0 /* this */
            aload 2 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.uniApply:(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniApply;)Z
            ifne 6
         3: .line 629
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$UniApply
            dup
            aload 1 /* e */
            aload 3 /* d */
            aload 0 /* this */
            aload 2 /* f */
            invokespecial java.util.concurrent.CompletableFuture$UniApply.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;)V
            astore 4 /* c */
        start local 4 // java.util.concurrent.CompletableFuture$UniApply c
         4: .line 630
            aload 0 /* this */
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.push:(Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
         5: .line 631
            aload 4 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$UniApply.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 4 // java.util.concurrent.CompletableFuture$UniApply c
         6: .line 633
      StackMap locals:
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 3 // java.util.concurrent.CompletableFuture d
        end local 2 // java.util.function.Function f
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    7     1     e  Ljava/util/concurrent/Executor;
            0    7     2     f  Ljava/util/function/Function<-TT;+TV;>;
            2    7     3     d  Ljava/util/concurrent/CompletableFuture<TV;>;
            4    6     4     c  Ljava/util/concurrent/CompletableFuture$UniApply<TT;TV;>;
    Signature: <V:Ljava/lang/Object;>(Ljava/util/concurrent/Executor;Ljava/util/function/Function<-TT;+TV;>;)Ljava/util/concurrent/CompletableFuture<TV;>;
    MethodParameters:
      Name  Flags
      e     
      f     

  final <S> boolean uniAccept(java.util.concurrent.CompletableFuture<S>, java.util.function.Consumer<? super S>, java.util.concurrent.CompletableFuture$UniAccept<S>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;Ljava/util/concurrent/CompletableFuture$UniAccept;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.function.Consumer f
        start local 3 // java.util.concurrent.CompletableFuture$UniAccept c
         0: .line 656
            aload 1 /* a */
            ifnull 2
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         1: ifnull 2
            aload 2 /* f */
            ifnonnull 3
        end local 4 // java.lang.Object r
         2: .line 657
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 4 // java.lang.Object r
         3: .line 658
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 18
         4: .line 659
            aload 4 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 10
         5: .line 660
            aload 4 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 5 /* x */
        start local 5 // java.lang.Throwable x
         6: ifnull 9
         7: .line 661
            aload 0 /* this */
            aload 5 /* x */
            aload 4 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
         8: .line 662
            goto 18
         9: .line 664
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 4 /* r */
        end local 5 // java.lang.Throwable x
        10: .line 667
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            ifnull 12
            aload 3 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$UniAccept.claim:()Z
            ifne 12
        11: .line 668
            iconst_0
            ireturn
        12: .line 669
      StackMap locals:
      StackMap stack:
            aload 4 /* r */
            astore 6 /* s */
        start local 6 // java.lang.Object s
        13: .line 670
            aload 2 /* f */
            aload 6 /* s */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        14: .line 671
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.completeNull:()Z
            pop
        end local 6 // java.lang.Object s
        15: .line 672
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        17: .line 673
            aload 0 /* this */
            aload 6 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 6 // java.lang.Throwable ex
        18: .line 676
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.Object r
        end local 3 // java.util.concurrent.CompletableFuture$UniAccept c
        end local 2 // java.util.function.Consumer f
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   19     1     a  Ljava/util/concurrent/CompletableFuture<TS;>;
            0   19     2     f  Ljava/util/function/Consumer<-TS;>;
            0   19     3     c  Ljava/util/concurrent/CompletableFuture$UniAccept<TS;>;
            1    2     4     r  Ljava/lang/Object;
            3   19     4     r  Ljava/lang/Object;
            6   10     5     x  Ljava/lang/Throwable;
           13   15     6     s  TS;
           17   18     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    11      16  Class java.lang.Throwable
          12    15      16  Class java.lang.Throwable
    Signature: <S:Ljava/lang/Object;>(Ljava/util/concurrent/CompletableFuture<TS;>;Ljava/util/function/Consumer<-TS;>;Ljava/util/concurrent/CompletableFuture$UniAccept<TS;>;)Z
    MethodParameters:
      Name  Flags
      a     
      f     
      c     

  private java.util.concurrent.CompletableFuture<java.lang.Void> uniAcceptStage(java.util.concurrent.Executor, java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.util.function.Consumer f
         0: .line 681
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 682
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
         2: .line 683
            aload 1 /* e */
            ifnonnull 3
            aload 3 /* d */
            aload 0 /* this */
            aload 2 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.uniAccept:(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;Ljava/util/concurrent/CompletableFuture$UniAccept;)Z
            ifne 6
         3: .line 684
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$UniAccept
            dup
            aload 1 /* e */
            aload 3 /* d */
            aload 0 /* this */
            aload 2 /* f */
            invokespecial java.util.concurrent.CompletableFuture$UniAccept.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;)V
            astore 4 /* c */
        start local 4 // java.util.concurrent.CompletableFuture$UniAccept c
         4: .line 685
            aload 0 /* this */
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.push:(Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
         5: .line 686
            aload 4 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$UniAccept.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 4 // java.util.concurrent.CompletableFuture$UniAccept c
         6: .line 688
      StackMap locals:
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 3 // java.util.concurrent.CompletableFuture d
        end local 2 // java.util.function.Consumer f
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    7     1     e  Ljava/util/concurrent/Executor;
            0    7     2     f  Ljava/util/function/Consumer<-TT;>;
            2    7     3     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
            4    6     4     c  Ljava/util/concurrent/CompletableFuture$UniAccept<TT;>;
    Signature: (Ljava/util/concurrent/Executor;Ljava/util/function/Consumer<-TT;>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      e     
      f     

  final boolean uniRun(java.util.concurrent.CompletableFuture<?>, java.lang.Runnable, java.util.concurrent.CompletableFuture$UniRun<?>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$UniRun;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.lang.Runnable f
        start local 3 // java.util.concurrent.CompletableFuture$UniRun c
         0: .line 710
            aload 1 /* a */
            ifnull 2
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         1: ifnull 2
            aload 2 /* f */
            ifnonnull 3
        end local 4 // java.lang.Object r
         2: .line 711
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 4 // java.lang.Object r
         3: .line 712
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 14
         4: .line 713
            aload 4 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 7
            aload 4 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 5 /* x */
        start local 5 // java.lang.Throwable x
         5: ifnull 7
         6: .line 714
            aload 0 /* this */
            aload 5 /* x */
            aload 4 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
            goto 14
        end local 5 // java.lang.Throwable x
         7: .line 717
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            ifnull 9
            aload 3 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$UniRun.claim:()Z
            ifne 9
         8: .line 718
            iconst_0
            ireturn
         9: .line 719
      StackMap locals:
      StackMap stack:
            aload 2 /* f */
            invokeinterface java.lang.Runnable.run:()V
        10: .line 720
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.completeNull:()Z
            pop
        11: .line 721
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        13: .line 722
            aload 0 /* this */
            aload 6 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 6 // java.lang.Throwable ex
        14: .line 725
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.Object r
        end local 3 // java.util.concurrent.CompletableFuture$UniRun c
        end local 2 // java.lang.Runnable f
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   15     1     a  Ljava/util/concurrent/CompletableFuture<*>;
            0   15     2     f  Ljava/lang/Runnable;
            0   15     3     c  Ljava/util/concurrent/CompletableFuture$UniRun<*>;
            1    2     4     r  Ljava/lang/Object;
            3   15     4     r  Ljava/lang/Object;
            5    7     5     x  Ljava/lang/Throwable;
           13   14     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7     8      12  Class java.lang.Throwable
           9    11      12  Class java.lang.Throwable
    Signature: (Ljava/util/concurrent/CompletableFuture<*>;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$UniRun<*>;)Z
    MethodParameters:
      Name  Flags
      a     
      f     
      c     

  private java.util.concurrent.CompletableFuture<java.lang.Void> uniRunStage(java.util.concurrent.Executor, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.lang.Runnable f
         0: .line 729
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 730
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
         2: .line 731
            aload 1 /* e */
            ifnonnull 3
            aload 3 /* d */
            aload 0 /* this */
            aload 2 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.uniRun:(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$UniRun;)Z
            ifne 6
         3: .line 732
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$UniRun
            dup
            aload 1 /* e */
            aload 3 /* d */
            aload 0 /* this */
            aload 2 /* f */
            invokespecial java.util.concurrent.CompletableFuture$UniRun.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;)V
            astore 4 /* c */
        start local 4 // java.util.concurrent.CompletableFuture$UniRun c
         4: .line 733
            aload 0 /* this */
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.push:(Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
         5: .line 734
            aload 4 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$UniRun.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 4 // java.util.concurrent.CompletableFuture$UniRun c
         6: .line 736
      StackMap locals:
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 3 // java.util.concurrent.CompletableFuture d
        end local 2 // java.lang.Runnable f
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    7     1     e  Ljava/util/concurrent/Executor;
            0    7     2     f  Ljava/lang/Runnable;
            2    7     3     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
            4    6     4     c  Ljava/util/concurrent/CompletableFuture$UniRun<TT;>;
    Signature: (Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      e     
      f     

  final boolean uniWhenComplete(java.util.concurrent.CompletableFuture<T>, java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>, java.util.concurrent.CompletableFuture$UniWhenComplete<T>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$UniWhenComplete;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.function.BiConsumer f
        start local 3 // java.util.concurrent.CompletableFuture$UniWhenComplete c
         0: .line 760
            aconst_null
            astore 6 /* x */
        start local 6 // java.lang.Throwable x
         1: .line 761
            aload 1 /* a */
            ifnull 3
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         2: ifnull 3
            aload 2 /* f */
            ifnonnull 4
        end local 4 // java.lang.Object r
         3: .line 762
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.function.BiConsumer java.util.concurrent.CompletableFuture$UniWhenComplete top top java.lang.Throwable
      StackMap stack:
            iconst_0
            ireturn
        start local 4 // java.lang.Object r
         4: .line 763
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.function.BiConsumer java.util.concurrent.CompletableFuture$UniWhenComplete java.lang.Object top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 21
         5: .line 765
            aload 3 /* c */
            ifnull 7
            aload 3 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$UniWhenComplete.claim:()Z
            ifne 7
         6: .line 766
            iconst_0
            ireturn
         7: .line 767
      StackMap locals:
      StackMap stack:
            aload 4 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 11
         8: .line 768
            aload 4 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            astore 6 /* x */
         9: .line 769
            aconst_null
            astore 5 /* t */
        start local 5 // java.lang.Object t
        10: .line 770
            goto 13
        end local 5 // java.lang.Object t
        11: .line 771
      StackMap locals:
      StackMap stack:
            aload 4 /* r */
            astore 7 /* tr */
        start local 7 // java.lang.Object tr
        12: .line 772
            aload 7 /* tr */
            astore 5 /* t */
        end local 7 // java.lang.Object tr
        start local 5 // java.lang.Object t
        13: .line 774
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.function.BiConsumer java.util.concurrent.CompletableFuture$UniWhenComplete java.lang.Object java.lang.Object java.lang.Throwable
      StackMap stack:
            aload 2 /* f */
            aload 5 /* t */
            aload 6 /* x */
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 775
            aload 6 /* x */
            ifnonnull 20
        15: .line 776
            aload 0 /* this */
            aload 4 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.internalComplete:(Ljava/lang/Object;)Z
            pop
        16: .line 777
            iconst_1
            ireturn
        end local 5 // java.lang.Object t
        17: .line 779
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.function.BiConsumer java.util.concurrent.CompletableFuture$UniWhenComplete java.lang.Object top java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 7 /* ex */
        start local 7 // java.lang.Throwable ex
        18: .line 780
            aload 6 /* x */
            ifnonnull 20
        19: .line 781
            aload 7 /* ex */
            astore 6 /* x */
        end local 7 // java.lang.Throwable ex
        20: .line 783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* x */
            aload 4 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
        21: .line 785
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // java.lang.Throwable x
        end local 4 // java.lang.Object r
        end local 3 // java.util.concurrent.CompletableFuture$UniWhenComplete c
        end local 2 // java.util.function.BiConsumer f
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   22     1     a  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   22     2     f  Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
            0   22     3     c  Ljava/util/concurrent/CompletableFuture$UniWhenComplete<TT;>;
            2    3     4     r  Ljava/lang/Object;
            4   22     4     r  Ljava/lang/Object;
           10   11     5     t  TT;
           13   17     5     t  TT;
            1   22     6     x  Ljava/lang/Throwable;
           12   13     7    tr  TT;
           18   20     7    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           5     6      17  Class java.lang.Throwable
           7    16      17  Class java.lang.Throwable
    Signature: (Ljava/util/concurrent/CompletableFuture<TT;>;Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;Ljava/util/concurrent/CompletableFuture$UniWhenComplete<TT;>;)Z
    MethodParameters:
      Name  Flags
      a     
      f     
      c     

  private java.util.concurrent.CompletableFuture<T> uniWhenCompleteStage(java.util.concurrent.Executor, java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.util.function.BiConsumer f
         0: .line 790
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 791
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
         2: .line 792
            aload 1 /* e */
            ifnonnull 3
            aload 3 /* d */
            aload 0 /* this */
            aload 2 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.uniWhenComplete:(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$UniWhenComplete;)Z
            ifne 6
         3: .line 793
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$UniWhenComplete
            dup
            aload 1 /* e */
            aload 3 /* d */
            aload 0 /* this */
            aload 2 /* f */
            invokespecial java.util.concurrent.CompletableFuture$UniWhenComplete.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;)V
            astore 4 /* c */
        start local 4 // java.util.concurrent.CompletableFuture$UniWhenComplete c
         4: .line 794
            aload 0 /* this */
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.push:(Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
         5: .line 795
            aload 4 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 4 // java.util.concurrent.CompletableFuture$UniWhenComplete c
         6: .line 797
      StackMap locals:
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 3 // java.util.concurrent.CompletableFuture d
        end local 2 // java.util.function.BiConsumer f
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    7     1     e  Ljava/util/concurrent/Executor;
            0    7     2     f  Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
            2    7     3     d  Ljava/util/concurrent/CompletableFuture<TT;>;
            4    6     4     c  Ljava/util/concurrent/CompletableFuture$UniWhenComplete<TT;>;
    Signature: (Ljava/util/concurrent/Executor;Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
      Name  Flags
      e     
      f     

  final <S> boolean uniHandle(java.util.concurrent.CompletableFuture<S>, java.util.function.BiFunction<? super S, java.lang.Throwable, ? extends T>, java.util.concurrent.CompletableFuture$UniHandle<S, T>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$UniHandle;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.function.BiFunction f
        start local 3 // java.util.concurrent.CompletableFuture$UniHandle c
         0: .line 822
            aload 1 /* a */
            ifnull 2
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         1: ifnull 2
            aload 2 /* f */
            ifnonnull 3
        end local 4 // java.lang.Object r
         2: .line 823
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 4 // java.lang.Object r
         3: .line 824
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 17
         4: .line 826
            aload 3 /* c */
            ifnull 6
            aload 3 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$UniHandle.claim:()Z
            ifne 6
         5: .line 827
            iconst_0
            ireturn
         6: .line 828
      StackMap locals:
      StackMap stack:
            aload 4 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 10
         7: .line 829
            aload 4 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            astore 6 /* x */
        start local 6 // java.lang.Throwable x
         8: .line 830
            aconst_null
            astore 5 /* s */
        start local 5 // java.lang.Object s
         9: .line 831
            goto 13
        end local 6 // java.lang.Throwable x
        end local 5 // java.lang.Object s
        10: .line 832
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* x */
        start local 6 // java.lang.Throwable x
        11: .line 833
            aload 4 /* r */
            astore 7 /* ss */
        start local 7 // java.lang.Object ss
        12: .line 834
            aload 7 /* ss */
            astore 5 /* s */
        end local 7 // java.lang.Object ss
        start local 5 // java.lang.Object s
        13: .line 836
      StackMap locals: java.lang.Object java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 2 /* f */
            aload 5 /* s */
            aload 6 /* x */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.util.concurrent.CompletableFuture.completeValue:(Ljava/lang/Object;)Z
            pop
        14: .line 837
            goto 17
        end local 6 // java.lang.Throwable x
        end local 5 // java.lang.Object s
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.function.BiFunction java.util.concurrent.CompletableFuture$UniHandle java.lang.Object
      StackMap stack: java.lang.Throwable
        15: astore 7 /* ex */
        start local 7 // java.lang.Throwable ex
        16: .line 838
            aload 0 /* this */
            aload 7 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 7 // java.lang.Throwable ex
        17: .line 841
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.Object r
        end local 3 // java.util.concurrent.CompletableFuture$UniHandle c
        end local 2 // java.util.function.BiFunction f
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   18     1     a  Ljava/util/concurrent/CompletableFuture<TS;>;
            0   18     2     f  Ljava/util/function/BiFunction<-TS;Ljava/lang/Throwable;+TT;>;
            0   18     3     c  Ljava/util/concurrent/CompletableFuture$UniHandle<TS;TT;>;
            1    2     4     r  Ljava/lang/Object;
            3   18     4     r  Ljava/lang/Object;
            9   10     5     s  TS;
           13   15     5     s  TS;
            8   10     6     x  Ljava/lang/Throwable;
           11   15     6     x  Ljava/lang/Throwable;
           12   13     7    ss  TS;
           16   17     7    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     5      15  Class java.lang.Throwable
           6    14      15  Class java.lang.Throwable
    Signature: <S:Ljava/lang/Object;>(Ljava/util/concurrent/CompletableFuture<TS;>;Ljava/util/function/BiFunction<-TS;Ljava/lang/Throwable;+TT;>;Ljava/util/concurrent/CompletableFuture$UniHandle<TS;TT;>;)Z
    MethodParameters:
      Name  Flags
      a     
      f     
      c     

  private <V> java.util.concurrent.CompletableFuture<V> uniHandleStage(java.util.concurrent.Executor, java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends V>);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.util.function.BiFunction f
         0: .line 846
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 847
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
         2: .line 848
            aload 1 /* e */
            ifnonnull 3
            aload 3 /* d */
            aload 0 /* this */
            aload 2 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.uniHandle:(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$UniHandle;)Z
            ifne 6
         3: .line 849
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$UniHandle
            dup
            aload 1 /* e */
            aload 3 /* d */
            aload 0 /* this */
            aload 2 /* f */
            invokespecial java.util.concurrent.CompletableFuture$UniHandle.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;)V
            astore 4 /* c */
        start local 4 // java.util.concurrent.CompletableFuture$UniHandle c
         4: .line 850
            aload 0 /* this */
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.push:(Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
         5: .line 851
            aload 4 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$UniHandle.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 4 // java.util.concurrent.CompletableFuture$UniHandle c
         6: .line 853
      StackMap locals:
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 3 // java.util.concurrent.CompletableFuture d
        end local 2 // java.util.function.BiFunction f
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    7     1     e  Ljava/util/concurrent/Executor;
            0    7     2     f  Ljava/util/function/BiFunction<-TT;Ljava/lang/Throwable;+TV;>;
            2    7     3     d  Ljava/util/concurrent/CompletableFuture<TV;>;
            4    6     4     c  Ljava/util/concurrent/CompletableFuture$UniHandle<TT;TV;>;
    Signature: <V:Ljava/lang/Object;>(Ljava/util/concurrent/Executor;Ljava/util/function/BiFunction<-TT;Ljava/lang/Throwable;+TV;>;)Ljava/util/concurrent/CompletableFuture<TV;>;
    MethodParameters:
      Name  Flags
      e     
      f     

  final boolean uniExceptionally(java.util.concurrent.CompletableFuture<T>, java.util.function.Function<? super java.lang.Throwable, ? extends T>, java.util.concurrent.CompletableFuture$UniExceptionally<T>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniExceptionally;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.function.Function f
        start local 3 // java.util.concurrent.CompletableFuture$UniExceptionally c
         0: .line 877
            aload 1 /* a */
            ifnull 2
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         1: ifnull 2
            aload 2 /* f */
            ifnonnull 3
        end local 4 // java.lang.Object r
         2: .line 878
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 4 // java.lang.Object r
         3: .line 879
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 14
         4: .line 881
            aload 4 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 10
            aload 4 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 5 /* x */
        start local 5 // java.lang.Throwable x
         5: ifnull 10
         6: .line 882
            aload 3 /* c */
            ifnull 8
            aload 3 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$UniExceptionally.claim:()Z
            ifne 8
         7: .line 883
            iconst_0
            ireturn
         8: .line 884
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 2 /* f */
            aload 5 /* x */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.util.concurrent.CompletableFuture.completeValue:(Ljava/lang/Object;)Z
            pop
         9: .line 885
            goto 14
        end local 5 // java.lang.Throwable x
        10: .line 886
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.internalComplete:(Ljava/lang/Object;)Z
            pop
        11: .line 887
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        13: .line 888
            aload 0 /* this */
            aload 6 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 6 // java.lang.Throwable ex
        14: .line 891
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.Object r
        end local 3 // java.util.concurrent.CompletableFuture$UniExceptionally c
        end local 2 // java.util.function.Function f
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   15     1     a  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   15     2     f  Ljava/util/function/Function<-Ljava/lang/Throwable;+TT;>;
            0   15     3     c  Ljava/util/concurrent/CompletableFuture$UniExceptionally<TT;>;
            1    2     4     r  Ljava/lang/Object;
            3   15     4     r  Ljava/lang/Object;
            5   10     5     x  Ljava/lang/Throwable;
           13   14     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     7      12  Class java.lang.Throwable
           8    11      12  Class java.lang.Throwable
    Signature: (Ljava/util/concurrent/CompletableFuture<TT;>;Ljava/util/function/Function<-Ljava/lang/Throwable;+TT;>;Ljava/util/concurrent/CompletableFuture$UniExceptionally<TT;>;)Z
    MethodParameters:
      Name  Flags
      a     
      f     
      c     

  private java.util.concurrent.CompletableFuture<T> uniExceptionallyStage(java.util.function.Function<java.lang.Throwable, ? extends T>);
    descriptor: (Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Function f
         0: .line 896
            aload 1 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 897
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 2 /* d */
        start local 2 // java.util.concurrent.CompletableFuture d
         2: .line 898
            aload 2 /* d */
            aload 0 /* this */
            aload 1 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.uniExceptionally:(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniExceptionally;)Z
            ifne 6
         3: .line 899
            new java.util.concurrent.CompletableFuture$UniExceptionally
            dup
            aload 2 /* d */
            aload 0 /* this */
            aload 1 /* f */
            invokespecial java.util.concurrent.CompletableFuture$UniExceptionally.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;)V
            astore 3 /* c */
        start local 3 // java.util.concurrent.CompletableFuture$UniExceptionally c
         4: .line 900
            aload 0 /* this */
            aload 3 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.push:(Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
         5: .line 901
            aload 3 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$UniExceptionally.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 3 // java.util.concurrent.CompletableFuture$UniExceptionally c
         6: .line 903
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 2 /* d */
            areturn
        end local 2 // java.util.concurrent.CompletableFuture d
        end local 1 // java.util.function.Function f
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    7     1     f  Ljava/util/function/Function<Ljava/lang/Throwable;+TT;>;
            2    7     2     d  Ljava/util/concurrent/CompletableFuture<TT;>;
            4    6     3     c  Ljava/util/concurrent/CompletableFuture$UniExceptionally<TT;>;
    Signature: (Ljava/util/function/Function<Ljava/lang/Throwable;+TT;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
      Name  Flags
      f     

  final boolean uniRelay(java.util.concurrent.CompletableFuture<T>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
         0: .line 922
            aload 1 /* a */
            ifnull 2
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 2 /* r */
        start local 2 // java.lang.Object r
         1: ifnonnull 3
        end local 2 // java.lang.Object r
         2: .line 923
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 2 // java.lang.Object r
         3: .line 924
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 5
         4: .line 925
            aload 0 /* this */
            aload 2 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeRelay:(Ljava/lang/Object;)Z
            pop
         5: .line 926
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.lang.Object r
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    6     1     a  Ljava/util/concurrent/CompletableFuture<TT;>;
            1    2     2     r  Ljava/lang/Object;
            3    6     2     r  Ljava/lang/Object;
    Signature: (Ljava/util/concurrent/CompletableFuture<TT;>;)Z
    MethodParameters:
      Name  Flags
      a     

  final <S> boolean uniCompose(java.util.concurrent.CompletableFuture<S>, java.util.function.Function<? super S, ? extends java.util.concurrent.CompletionStage<T>>, java.util.concurrent.CompletableFuture$UniCompose<S, T>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniCompose;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.function.Function f
        start local 3 // java.util.concurrent.CompletableFuture$UniCompose c
         0: .line 952
            aload 1 /* a */
            ifnull 2
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         1: ifnull 2
            aload 2 /* f */
            ifnonnull 3
        end local 4 // java.lang.Object r
         2: .line 953
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 4 // java.lang.Object r
         3: .line 954
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 22
         4: .line 955
            aload 4 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 10
         5: .line 956
            aload 4 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 5 /* x */
        start local 5 // java.lang.Throwable x
         6: ifnull 9
         7: .line 957
            aload 0 /* this */
            aload 5 /* x */
            aload 4 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
         8: .line 958
            goto 22
         9: .line 960
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 4 /* r */
        end local 5 // java.lang.Throwable x
        10: .line 963
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            ifnull 12
            aload 3 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$UniCompose.claim:()Z
            ifne 12
        11: .line 964
            iconst_0
            ireturn
        12: .line 965
      StackMap locals:
      StackMap stack:
            aload 4 /* r */
            astore 6 /* s */
        start local 6 // java.lang.Object s
        13: .line 966
            aload 2 /* f */
            aload 6 /* s */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.concurrent.CompletionStage
            invokeinterface java.util.concurrent.CompletionStage.toCompletableFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 7 /* g */
        start local 7 // java.util.concurrent.CompletableFuture g
        14: .line 967
            aload 7 /* g */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 15
            aload 0 /* this */
            aload 7 /* g */
            invokevirtual java.util.concurrent.CompletableFuture.uniRelay:(Ljava/util/concurrent/CompletableFuture;)Z
            ifne 22
        15: .line 968
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.function.Function java.util.concurrent.CompletableFuture$UniCompose java.lang.Object top java.lang.Object java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$UniRelay
            dup
            aload 0 /* this */
            aload 7 /* g */
            invokespecial java.util.concurrent.CompletableFuture$UniRelay.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
            astore 8 /* copy */
        start local 8 // java.util.concurrent.CompletableFuture$UniRelay copy
        16: .line 969
            aload 7 /* g */
            aload 8 /* copy */
            invokevirtual java.util.concurrent.CompletableFuture.push:(Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
        17: .line 970
            aload 8 /* copy */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$UniRelay.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        18: .line 971
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 22
        19: .line 972
            iconst_0
            ireturn
        end local 8 // java.util.concurrent.CompletableFuture$UniRelay copy
        end local 7 // java.util.concurrent.CompletableFuture g
        end local 6 // java.lang.Object s
        20: .line 974
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.function.Function java.util.concurrent.CompletableFuture$UniCompose java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        21: .line 975
            aload 0 /* this */
            aload 6 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 6 // java.lang.Throwable ex
        22: .line 978
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.Object r
        end local 3 // java.util.concurrent.CompletableFuture$UniCompose c
        end local 2 // java.util.function.Function f
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   23     1     a  Ljava/util/concurrent/CompletableFuture<TS;>;
            0   23     2     f  Ljava/util/function/Function<-TS;+Ljava/util/concurrent/CompletionStage<TT;>;>;
            0   23     3     c  Ljava/util/concurrent/CompletableFuture$UniCompose<TS;TT;>;
            1    2     4     r  Ljava/lang/Object;
            3   23     4     r  Ljava/lang/Object;
            6   10     5     x  Ljava/lang/Throwable;
           13   20     6     s  TS;
           14   20     7     g  Ljava/util/concurrent/CompletableFuture<TT;>;
           16   20     8  copy  Ljava/util/concurrent/CompletableFuture$UniRelay<TT;>;
           21   22     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    11      20  Class java.lang.Throwable
          12    19      20  Class java.lang.Throwable
    Signature: <S:Ljava/lang/Object;>(Ljava/util/concurrent/CompletableFuture<TS;>;Ljava/util/function/Function<-TS;+Ljava/util/concurrent/CompletionStage<TT;>;>;Ljava/util/concurrent/CompletableFuture$UniCompose<TS;TT;>;)Z
    MethodParameters:
      Name  Flags
      a     
      f     
      c     

  private <V> java.util.concurrent.CompletableFuture<V> uniComposeStage(java.util.concurrent.Executor, java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<V>>);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.util.function.Function f
         0: .line 983
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 985
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            ifnonnull 22
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 3 /* r */
        start local 3 // java.lang.Object r
         2: ifnull 22
         3: .line 987
            aload 3 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 8
         4: .line 988
            aload 3 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 4 /* x */
        start local 4 // java.lang.Throwable x
         5: ifnull 7
         6: .line 989
            new java.util.concurrent.CompletableFuture
            dup
            aload 4 /* x */
            aload 3 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/Object;
            invokespecial java.util.concurrent.CompletableFuture.<init>:(Ljava/lang/Object;)V
            areturn
         7: .line 991
      StackMap locals: java.lang.Object java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 3 /* r */
        end local 4 // java.lang.Throwable x
         8: .line 994
      StackMap locals:
      StackMap stack:
            aload 3 /* r */
            astore 5 /* t */
        start local 5 // java.lang.Object t
         9: .line 995
            aload 2 /* f */
            aload 5 /* t */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.concurrent.CompletionStage
            invokeinterface java.util.concurrent.CompletionStage.toCompletableFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 6 /* g */
        start local 6 // java.util.concurrent.CompletableFuture g
        10: .line 996
            aload 6 /* g */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            astore 7 /* s */
        start local 7 // java.lang.Object s
        11: .line 997
            aload 7 /* s */
            ifnull 14
        12: .line 998
            new java.util.concurrent.CompletableFuture
            dup
            aload 7 /* s */
            invokestatic java.util.concurrent.CompletableFuture.encodeRelay:(Ljava/lang/Object;)Ljava/lang/Object;
            invokespecial java.util.concurrent.CompletableFuture.<init>:(Ljava/lang/Object;)V
        13: areturn
        14: .line 999
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.function.Function java.lang.Object top java.lang.Object java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 8 /* d */
        start local 8 // java.util.concurrent.CompletableFuture d
        15: .line 1000
            new java.util.concurrent.CompletableFuture$UniRelay
            dup
            aload 8 /* d */
            aload 6 /* g */
            invokespecial java.util.concurrent.CompletableFuture$UniRelay.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
            astore 9 /* copy */
        start local 9 // java.util.concurrent.CompletableFuture$UniRelay copy
        16: .line 1001
            aload 6 /* g */
            aload 9 /* copy */
            invokevirtual java.util.concurrent.CompletableFuture.push:(Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
        17: .line 1002
            aload 9 /* copy */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$UniRelay.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        18: .line 1003
            aload 8 /* d */
        19: areturn
        end local 9 // java.util.concurrent.CompletableFuture$UniRelay copy
        end local 8 // java.util.concurrent.CompletableFuture d
        end local 7 // java.lang.Object s
        end local 6 // java.util.concurrent.CompletableFuture g
        end local 5 // java.lang.Object t
        20: .line 1004
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.function.Function java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
        21: .line 1005
            new java.util.concurrent.CompletableFuture
            dup
            aload 5 /* ex */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            invokespecial java.util.concurrent.CompletableFuture.<init>:(Ljava/lang/Object;)V
            areturn
        end local 5 // java.lang.Throwable ex
        end local 3 // java.lang.Object r
        22: .line 1008
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 5 /* d */
        start local 5 // java.util.concurrent.CompletableFuture d
        23: .line 1009
            new java.util.concurrent.CompletableFuture$UniCompose
            dup
            aload 1 /* e */
            aload 5 /* d */
            aload 0 /* this */
            aload 2 /* f */
            invokespecial java.util.concurrent.CompletableFuture$UniCompose.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;)V
            astore 6 /* c */
        start local 6 // java.util.concurrent.CompletableFuture$UniCompose c
        24: .line 1010
            aload 0 /* this */
            aload 6 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.push:(Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
        25: .line 1011
            aload 6 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$UniCompose.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        26: .line 1012
            aload 5 /* d */
            areturn
        end local 6 // java.util.concurrent.CompletableFuture$UniCompose c
        end local 5 // java.util.concurrent.CompletableFuture d
        end local 2 // java.util.function.Function f
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   27     1     e  Ljava/util/concurrent/Executor;
            0   27     2     f  Ljava/util/function/Function<-TT;+Ljava/util/concurrent/CompletionStage<TV;>;>;
            2   22     3     r  Ljava/lang/Object;
            5    8     4     x  Ljava/lang/Throwable;
            9   20     5     t  TT;
           10   20     6     g  Ljava/util/concurrent/CompletableFuture<TV;>;
           11   20     7     s  Ljava/lang/Object;
           15   20     8     d  Ljava/util/concurrent/CompletableFuture<TV;>;
           16   20     9  copy  Ljava/util/concurrent/CompletableFuture$UniRelay<TV;>;
           21   22     5    ex  Ljava/lang/Throwable;
           23   27     5     d  Ljava/util/concurrent/CompletableFuture<TV;>;
           24   27     6     c  Ljava/util/concurrent/CompletableFuture$UniCompose<TT;TV;>;
      Exception table:
        from    to  target  type
           8    13      20  Class java.lang.Throwable
          14    19      20  Class java.lang.Throwable
    Signature: <V:Ljava/lang/Object;>(Ljava/util/concurrent/Executor;Ljava/util/function/Function<-TT;+Ljava/util/concurrent/CompletionStage<TV;>;>;)Ljava/util/concurrent/CompletableFuture<TV;>;
    MethodParameters:
      Name  Flags
      e     
      f     

  final void bipush(java.util.concurrent.CompletableFuture<?>, java.util.concurrent.CompletableFuture$BiCompletion<?, ?, ?>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture b
        start local 2 // java.util.concurrent.CompletableFuture$BiCompletion c
         0: .line 1047
            aload 2 /* c */
            ifnull 12
         1: .line 1049
            goto 3
        start local 3 // java.lang.Object r
         2: .line 1050
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* c */
            aconst_null
            invokestatic java.util.concurrent.CompletableFuture.lazySetNext:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)V
        end local 3 // java.lang.Object r
         3: .line 1049
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 3 /* r */
        start local 3 // java.lang.Object r
         4: ifnonnull 5
            aload 0 /* this */
            aload 2 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 2
         5: .line 1051
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* b */
            ifnull 12
            aload 1 /* b */
            aload 0 /* this */
            if_acmpeq 12
            aload 1 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 12
         6: .line 1052
            aload 3 /* r */
            ifnull 7
            aload 2 /* c */
            goto 8
      StackMap locals:
      StackMap stack:
         7: new java.util.concurrent.CompletableFuture$CoCompletion
            dup
            aload 2 /* c */
            invokespecial java.util.concurrent.CompletableFuture$CoCompletion.<init>:(Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
      StackMap locals:
      StackMap stack: java.util.concurrent.CompletableFuture$Completion
         8: astore 4 /* q */
        start local 4 // java.util.concurrent.CompletableFuture$Completion q
         9: .line 1053
            goto 11
        10: .line 1054
      StackMap locals: java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            aload 4 /* q */
            aconst_null
            invokestatic java.util.concurrent.CompletableFuture.lazySetNext:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)V
        11: .line 1053
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 12
            aload 1 /* b */
            aload 4 /* q */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 10
        end local 4 // java.util.concurrent.CompletableFuture$Completion q
        end local 3 // java.lang.Object r
        12: .line 1057
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.concurrent.CompletableFuture$BiCompletion c
        end local 1 // java.util.concurrent.CompletableFuture b
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   13     1     b  Ljava/util/concurrent/CompletableFuture<*>;
            0   13     2     c  Ljava/util/concurrent/CompletableFuture$BiCompletion<***>;
            2    3     3     r  Ljava/lang/Object;
            4   12     3     r  Ljava/lang/Object;
            9   12     4     q  Ljava/util/concurrent/CompletableFuture$Completion;
    Signature: (Ljava/util/concurrent/CompletableFuture<*>;Ljava/util/concurrent/CompletableFuture$BiCompletion<***>;)V
    MethodParameters:
      Name  Flags
      b     
      c     

  final java.util.concurrent.CompletableFuture<T> postFire(java.util.concurrent.CompletableFuture<?>, java.util.concurrent.CompletableFuture<?>, int);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;I)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.concurrent.CompletableFuture b
        start local 3 // int mode
         0: .line 1062
            aload 2 /* b */
            ifnull 4
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            ifnull 4
         1: .line 1063
            iload 3 /* mode */
            iflt 2
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 3
         2: .line 1064
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual java.util.concurrent.CompletableFuture.cleanStack:()V
            goto 4
         3: .line 1066
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         4: .line 1068
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* a */
            iload 3 /* mode */
            invokevirtual java.util.concurrent.CompletableFuture.postFire:(Ljava/util/concurrent/CompletableFuture;I)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 3 // int mode
        end local 2 // java.util.concurrent.CompletableFuture b
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    5     1     a  Ljava/util/concurrent/CompletableFuture<*>;
            0    5     2     b  Ljava/util/concurrent/CompletableFuture<*>;
            0    5     3  mode  I
    Signature: (Ljava/util/concurrent/CompletableFuture<*>;Ljava/util/concurrent/CompletableFuture<*>;I)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
      Name  Flags
      a     
      b     
      mode  

  final <R, S> boolean biApply(java.util.concurrent.CompletableFuture<R>, java.util.concurrent.CompletableFuture<S>, java.util.function.BiFunction<? super R, ? super S, ? extends T>, java.util.concurrent.CompletableFuture$BiApply<R, S, T>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$BiApply;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.concurrent.CompletableFuture b
        start local 3 // java.util.function.BiFunction f
        start local 4 // java.util.concurrent.CompletableFuture$BiApply c
         0: .line 1096
            aload 1 /* a */
            ifnull 4
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         1: ifnull 4
         2: .line 1097
            aload 2 /* b */
            ifnull 4
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 6 /* s */
        start local 6 // java.lang.Object s
         3: ifnull 4
            aload 3 /* f */
            ifnonnull 5
        end local 6 // java.lang.Object s
        end local 5 // java.lang.Object r
         4: .line 1098
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 5 // java.lang.Object r
        start local 6 // java.lang.Object s
         5: .line 1099
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 26
         6: .line 1100
            aload 5 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 12
         7: .line 1101
            aload 5 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 7 /* x */
        start local 7 // java.lang.Throwable x
         8: ifnull 11
         9: .line 1102
            aload 0 /* this */
            aload 7 /* x */
            aload 5 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
        10: .line 1103
            goto 26
        11: .line 1105
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 5 /* r */
        end local 7 // java.lang.Throwable x
        12: .line 1107
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 18
        13: .line 1108
            aload 6 /* s */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 7 /* x */
        start local 7 // java.lang.Throwable x
        14: ifnull 17
        15: .line 1109
            aload 0 /* this */
            aload 7 /* x */
            aload 6 /* s */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
        16: .line 1110
            goto 26
        17: .line 1112
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 6 /* s */
        end local 7 // java.lang.Throwable x
        18: .line 1115
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            ifnull 20
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$BiApply.claim:()Z
            ifne 20
        19: .line 1116
            iconst_0
            ireturn
        20: .line 1117
      StackMap locals:
      StackMap stack:
            aload 5 /* r */
            astore 8 /* rr */
        start local 8 // java.lang.Object rr
        21: .line 1118
            aload 6 /* s */
            astore 9 /* ss */
        start local 9 // java.lang.Object ss
        22: .line 1119
            aload 0 /* this */
            aload 3 /* f */
            aload 8 /* rr */
            aload 9 /* ss */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.util.concurrent.CompletableFuture.completeValue:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.lang.Object ss
        end local 8 // java.lang.Object rr
        23: .line 1120
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 8 /* ex */
        start local 8 // java.lang.Throwable ex
        25: .line 1121
            aload 0 /* this */
            aload 8 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 8 // java.lang.Throwable ex
        26: .line 1124
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // java.lang.Object s
        end local 5 // java.lang.Object r
        end local 4 // java.util.concurrent.CompletableFuture$BiApply c
        end local 3 // java.util.function.BiFunction f
        end local 2 // java.util.concurrent.CompletableFuture b
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   27     1     a  Ljava/util/concurrent/CompletableFuture<TR;>;
            0   27     2     b  Ljava/util/concurrent/CompletableFuture<TS;>;
            0   27     3     f  Ljava/util/function/BiFunction<-TR;-TS;+TT;>;
            0   27     4     c  Ljava/util/concurrent/CompletableFuture$BiApply<TR;TS;TT;>;
            1    4     5     r  Ljava/lang/Object;
            5   27     5     r  Ljava/lang/Object;
            3    4     6     s  Ljava/lang/Object;
            5   27     6     s  Ljava/lang/Object;
            8   12     7     x  Ljava/lang/Throwable;
           14   18     7     x  Ljava/lang/Throwable;
           21   23     8    rr  TR;
           22   23     9    ss  TS;
           25   26     8    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          18    19      24  Class java.lang.Throwable
          20    23      24  Class java.lang.Throwable
    Signature: <R:Ljava/lang/Object;S:Ljava/lang/Object;>(Ljava/util/concurrent/CompletableFuture<TR;>;Ljava/util/concurrent/CompletableFuture<TS;>;Ljava/util/function/BiFunction<-TR;-TS;+TT;>;Ljava/util/concurrent/CompletableFuture$BiApply<TR;TS;TT;>;)Z
    MethodParameters:
      Name  Flags
      a     
      b     
      f     
      c     

  private <U, V> java.util.concurrent.CompletableFuture<V> biApplyStage(java.util.concurrent.Executor, java.util.concurrent.CompletionStage<U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.util.concurrent.CompletionStage o
        start local 3 // java.util.function.BiFunction f
         0: .line 1131
            aload 3 /* f */
            ifnull 2
            aload 2 /* o */
            invokeinterface java.util.concurrent.CompletionStage.toCompletableFuture:()Ljava/util/concurrent/CompletableFuture;
            dup
            astore 4 /* b */
        start local 4 // java.util.concurrent.CompletableFuture b
         1: ifnonnull 3
        end local 4 // java.util.concurrent.CompletableFuture b
         2: .line 1132
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
        start local 4 // java.util.concurrent.CompletableFuture b
         3: .line 1133
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 5 /* d */
        start local 5 // java.util.concurrent.CompletableFuture d
         4: .line 1134
            aload 1 /* e */
            ifnonnull 5
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.biApply:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$BiApply;)Z
            ifne 8
         5: .line 1135
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$BiApply
            dup
            aload 1 /* e */
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            invokespecial java.util.concurrent.CompletableFuture$BiApply.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;)V
            astore 6 /* c */
        start local 6 // java.util.concurrent.CompletableFuture$BiApply c
         6: .line 1136
            aload 0 /* this */
            aload 4 /* b */
            aload 6 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.bipush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
         7: .line 1137
            aload 6 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$BiApply.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 6 // java.util.concurrent.CompletableFuture$BiApply c
         8: .line 1139
      StackMap locals:
      StackMap stack:
            aload 5 /* d */
            areturn
        end local 5 // java.util.concurrent.CompletableFuture d
        end local 4 // java.util.concurrent.CompletableFuture b
        end local 3 // java.util.function.BiFunction f
        end local 2 // java.util.concurrent.CompletionStage o
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    9     1     e  Ljava/util/concurrent/Executor;
            0    9     2     o  Ljava/util/concurrent/CompletionStage<TU;>;
            0    9     3     f  Ljava/util/function/BiFunction<-TT;-TU;+TV;>;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            3    9     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            4    9     5     d  Ljava/util/concurrent/CompletableFuture<TV;>;
            6    8     6     c  Ljava/util/concurrent/CompletableFuture$BiApply<TT;TU;TV;>;
    Signature: <U:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage<TU;>;Ljava/util/function/BiFunction<-TT;-TU;+TV;>;)Ljava/util/concurrent/CompletableFuture<TV;>;
    MethodParameters:
      Name  Flags
      e     
      o     
      f     

  final <R, S> boolean biAccept(java.util.concurrent.CompletableFuture<R>, java.util.concurrent.CompletableFuture<S>, java.util.function.BiConsumer<? super R, ? super S>, java.util.concurrent.CompletableFuture$BiAccept<R, S>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$BiAccept;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=10, args_size=5
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.concurrent.CompletableFuture b
        start local 3 // java.util.function.BiConsumer f
        start local 4 // java.util.concurrent.CompletableFuture$BiAccept c
         0: .line 1167
            aload 1 /* a */
            ifnull 4
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         1: ifnull 4
         2: .line 1168
            aload 2 /* b */
            ifnull 4
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 6 /* s */
        start local 6 // java.lang.Object s
         3: ifnull 4
            aload 3 /* f */
            ifnonnull 5
        end local 6 // java.lang.Object s
        end local 5 // java.lang.Object r
         4: .line 1169
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 5 // java.lang.Object r
        start local 6 // java.lang.Object s
         5: .line 1170
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 27
         6: .line 1171
            aload 5 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 12
         7: .line 1172
            aload 5 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 7 /* x */
        start local 7 // java.lang.Throwable x
         8: ifnull 11
         9: .line 1173
            aload 0 /* this */
            aload 7 /* x */
            aload 5 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
        10: .line 1174
            goto 27
        11: .line 1176
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 5 /* r */
        end local 7 // java.lang.Throwable x
        12: .line 1178
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 18
        13: .line 1179
            aload 6 /* s */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 7 /* x */
        start local 7 // java.lang.Throwable x
        14: ifnull 17
        15: .line 1180
            aload 0 /* this */
            aload 7 /* x */
            aload 6 /* s */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
        16: .line 1181
            goto 27
        17: .line 1183
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 6 /* s */
        end local 7 // java.lang.Throwable x
        18: .line 1186
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            ifnull 20
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$BiAccept.claim:()Z
            ifne 20
        19: .line 1187
            iconst_0
            ireturn
        20: .line 1188
      StackMap locals:
      StackMap stack:
            aload 5 /* r */
            astore 8 /* rr */
        start local 8 // java.lang.Object rr
        21: .line 1189
            aload 6 /* s */
            astore 9 /* ss */
        start local 9 // java.lang.Object ss
        22: .line 1190
            aload 3 /* f */
            aload 8 /* rr */
            aload 9 /* ss */
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        23: .line 1191
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.completeNull:()Z
            pop
        end local 9 // java.lang.Object ss
        end local 8 // java.lang.Object rr
        24: .line 1192
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 8 /* ex */
        start local 8 // java.lang.Throwable ex
        26: .line 1193
            aload 0 /* this */
            aload 8 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 8 // java.lang.Throwable ex
        27: .line 1196
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // java.lang.Object s
        end local 5 // java.lang.Object r
        end local 4 // java.util.concurrent.CompletableFuture$BiAccept c
        end local 3 // java.util.function.BiConsumer f
        end local 2 // java.util.concurrent.CompletableFuture b
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   28     1     a  Ljava/util/concurrent/CompletableFuture<TR;>;
            0   28     2     b  Ljava/util/concurrent/CompletableFuture<TS;>;
            0   28     3     f  Ljava/util/function/BiConsumer<-TR;-TS;>;
            0   28     4     c  Ljava/util/concurrent/CompletableFuture$BiAccept<TR;TS;>;
            1    4     5     r  Ljava/lang/Object;
            5   28     5     r  Ljava/lang/Object;
            3    4     6     s  Ljava/lang/Object;
            5   28     6     s  Ljava/lang/Object;
            8   12     7     x  Ljava/lang/Throwable;
           14   18     7     x  Ljava/lang/Throwable;
           21   24     8    rr  TR;
           22   24     9    ss  TS;
           26   27     8    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          18    19      25  Class java.lang.Throwable
          20    24      25  Class java.lang.Throwable
    Signature: <R:Ljava/lang/Object;S:Ljava/lang/Object;>(Ljava/util/concurrent/CompletableFuture<TR;>;Ljava/util/concurrent/CompletableFuture<TS;>;Ljava/util/function/BiConsumer<-TR;-TS;>;Ljava/util/concurrent/CompletableFuture$BiAccept<TR;TS;>;)Z
    MethodParameters:
      Name  Flags
      a     
      b     
      f     
      c     

  private <U> java.util.concurrent.CompletableFuture<java.lang.Void> biAcceptStage(java.util.concurrent.Executor, java.util.concurrent.CompletionStage<U>, java.util.function.BiConsumer<? super T, ? super U>);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.util.concurrent.CompletionStage o
        start local 3 // java.util.function.BiConsumer f
         0: .line 1203
            aload 3 /* f */
            ifnull 2
            aload 2 /* o */
            invokeinterface java.util.concurrent.CompletionStage.toCompletableFuture:()Ljava/util/concurrent/CompletableFuture;
            dup
            astore 4 /* b */
        start local 4 // java.util.concurrent.CompletableFuture b
         1: ifnonnull 3
        end local 4 // java.util.concurrent.CompletableFuture b
         2: .line 1204
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
        start local 4 // java.util.concurrent.CompletableFuture b
         3: .line 1205
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 5 /* d */
        start local 5 // java.util.concurrent.CompletableFuture d
         4: .line 1206
            aload 1 /* e */
            ifnonnull 5
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.biAccept:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$BiAccept;)Z
            ifne 8
         5: .line 1207
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$BiAccept
            dup
            aload 1 /* e */
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            invokespecial java.util.concurrent.CompletableFuture$BiAccept.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;)V
            astore 6 /* c */
        start local 6 // java.util.concurrent.CompletableFuture$BiAccept c
         6: .line 1208
            aload 0 /* this */
            aload 4 /* b */
            aload 6 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.bipush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
         7: .line 1209
            aload 6 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$BiAccept.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 6 // java.util.concurrent.CompletableFuture$BiAccept c
         8: .line 1211
      StackMap locals:
      StackMap stack:
            aload 5 /* d */
            areturn
        end local 5 // java.util.concurrent.CompletableFuture d
        end local 4 // java.util.concurrent.CompletableFuture b
        end local 3 // java.util.function.BiConsumer f
        end local 2 // java.util.concurrent.CompletionStage o
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    9     1     e  Ljava/util/concurrent/Executor;
            0    9     2     o  Ljava/util/concurrent/CompletionStage<TU;>;
            0    9     3     f  Ljava/util/function/BiConsumer<-TT;-TU;>;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            3    9     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            4    9     5     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
            6    8     6     c  Ljava/util/concurrent/CompletableFuture$BiAccept<TT;TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage<TU;>;Ljava/util/function/BiConsumer<-TT;-TU;>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      e     
      o     
      f     

  final boolean biRun(java.util.concurrent.CompletableFuture<?>, java.util.concurrent.CompletableFuture<?>, java.lang.Runnable, java.util.concurrent.CompletableFuture$BiRun<?, ?>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$BiRun;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.concurrent.CompletableFuture b
        start local 3 // java.lang.Runnable f
        start local 4 // java.util.concurrent.CompletableFuture$BiRun c
         0: .line 1238
            aload 1 /* a */
            ifnull 4
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         1: ifnull 4
         2: .line 1239
            aload 2 /* b */
            ifnull 4
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 6 /* s */
        start local 6 // java.lang.Object s
         3: ifnull 4
            aload 3 /* f */
            ifnonnull 5
        end local 6 // java.lang.Object s
        end local 5 // java.lang.Object r
         4: .line 1240
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 5 // java.lang.Object r
        start local 6 // java.lang.Object s
         5: .line 1241
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 19
         6: .line 1242
            aload 5 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 9
            aload 5 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 7 /* x */
        start local 7 // java.lang.Throwable x
         7: ifnull 9
         8: .line 1243
            aload 0 /* this */
            aload 7 /* x */
            aload 5 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
            goto 19
        end local 7 // java.lang.Throwable x
         9: .line 1244
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 12
            aload 6 /* s */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 7 /* x */
        start local 7 // java.lang.Throwable x
        10: ifnull 12
        11: .line 1245
            aload 0 /* this */
            aload 7 /* x */
            aload 6 /* s */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
            goto 19
        end local 7 // java.lang.Throwable x
        12: .line 1248
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            ifnull 14
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$BiRun.claim:()Z
            ifne 14
        13: .line 1249
            iconst_0
            ireturn
        14: .line 1250
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            invokeinterface java.lang.Runnable.run:()V
        15: .line 1251
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.completeNull:()Z
            pop
        16: .line 1252
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 8 /* ex */
        start local 8 // java.lang.Throwable ex
        18: .line 1253
            aload 0 /* this */
            aload 8 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 8 // java.lang.Throwable ex
        19: .line 1256
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // java.lang.Object s
        end local 5 // java.lang.Object r
        end local 4 // java.util.concurrent.CompletableFuture$BiRun c
        end local 3 // java.lang.Runnable f
        end local 2 // java.util.concurrent.CompletableFuture b
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   20     1     a  Ljava/util/concurrent/CompletableFuture<*>;
            0   20     2     b  Ljava/util/concurrent/CompletableFuture<*>;
            0   20     3     f  Ljava/lang/Runnable;
            0   20     4     c  Ljava/util/concurrent/CompletableFuture$BiRun<**>;
            1    4     5     r  Ljava/lang/Object;
            5   20     5     r  Ljava/lang/Object;
            3    4     6     s  Ljava/lang/Object;
            5   20     6     s  Ljava/lang/Object;
            7    9     7     x  Ljava/lang/Throwable;
           10   12     7     x  Ljava/lang/Throwable;
           18   19     8    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          12    13      17  Class java.lang.Throwable
          14    16      17  Class java.lang.Throwable
    Signature: (Ljava/util/concurrent/CompletableFuture<*>;Ljava/util/concurrent/CompletableFuture<*>;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$BiRun<**>;)Z
    MethodParameters:
      Name  Flags
      a     
      b     
      f     
      c     

  private java.util.concurrent.CompletableFuture<java.lang.Void> biRunStage(java.util.concurrent.Executor, java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.util.concurrent.CompletionStage o
        start local 3 // java.lang.Runnable f
         0: .line 1262
            aload 3 /* f */
            ifnull 2
            aload 2 /* o */
            invokeinterface java.util.concurrent.CompletionStage.toCompletableFuture:()Ljava/util/concurrent/CompletableFuture;
            dup
            astore 4 /* b */
        start local 4 // java.util.concurrent.CompletableFuture b
         1: ifnonnull 3
        end local 4 // java.util.concurrent.CompletableFuture b
         2: .line 1263
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
        start local 4 // java.util.concurrent.CompletableFuture b
         3: .line 1264
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 5 /* d */
        start local 5 // java.util.concurrent.CompletableFuture d
         4: .line 1265
            aload 1 /* e */
            ifnonnull 5
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.biRun:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$BiRun;)Z
            ifne 8
         5: .line 1266
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$BiRun
            dup
            aload 1 /* e */
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            invokespecial java.util.concurrent.CompletableFuture$BiRun.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;)V
            astore 6 /* c */
        start local 6 // java.util.concurrent.CompletableFuture$BiRun c
         6: .line 1267
            aload 0 /* this */
            aload 4 /* b */
            aload 6 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.bipush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
         7: .line 1268
            aload 6 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$BiRun.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 6 // java.util.concurrent.CompletableFuture$BiRun c
         8: .line 1270
      StackMap locals:
      StackMap stack:
            aload 5 /* d */
            areturn
        end local 5 // java.util.concurrent.CompletableFuture d
        end local 4 // java.util.concurrent.CompletableFuture b
        end local 3 // java.lang.Runnable f
        end local 2 // java.util.concurrent.CompletionStage o
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    9     1     e  Ljava/util/concurrent/Executor;
            0    9     2     o  Ljava/util/concurrent/CompletionStage<*>;
            0    9     3     f  Ljava/lang/Runnable;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<*>;
            3    9     4     b  Ljava/util/concurrent/CompletableFuture<*>;
            4    9     5     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
            6    8     6     c  Ljava/util/concurrent/CompletableFuture$BiRun<TT;*>;
    Signature: (Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage<*>;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      e     
      o     
      f     

  boolean biRelay(java.util.concurrent.CompletableFuture<?>, java.util.concurrent.CompletableFuture<?>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.concurrent.CompletableFuture b
         0: .line 1293
            aload 1 /* a */
            ifnull 4
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: ifnull 4
         2: .line 1294
            aload 2 /* b */
            ifnull 4
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* s */
        start local 4 // java.lang.Object s
         3: ifnonnull 5
        end local 4 // java.lang.Object s
        end local 3 // java.lang.Object r
         4: .line 1295
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 3 // java.lang.Object r
        start local 4 // java.lang.Object s
         5: .line 1296
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 13
         6: .line 1297
            aload 3 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 9
            aload 3 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 5 /* x */
        start local 5 // java.lang.Throwable x
         7: ifnull 9
         8: .line 1298
            aload 0 /* this */
            aload 5 /* x */
            aload 3 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
            goto 13
        end local 5 // java.lang.Throwable x
         9: .line 1299
      StackMap locals:
      StackMap stack:
            aload 4 /* s */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 12
            aload 4 /* s */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 5 /* x */
        start local 5 // java.lang.Throwable x
        10: ifnull 12
        11: .line 1300
            aload 0 /* this */
            aload 5 /* x */
            aload 4 /* s */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
            goto 13
        end local 5 // java.lang.Throwable x
        12: .line 1302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.completeNull:()Z
            pop
        13: .line 1304
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.Object s
        end local 3 // java.lang.Object r
        end local 2 // java.util.concurrent.CompletableFuture b
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   14     1     a  Ljava/util/concurrent/CompletableFuture<*>;
            0   14     2     b  Ljava/util/concurrent/CompletableFuture<*>;
            1    4     3     r  Ljava/lang/Object;
            5   14     3     r  Ljava/lang/Object;
            3    4     4     s  Ljava/lang/Object;
            5   14     4     s  Ljava/lang/Object;
            7    9     5     x  Ljava/lang/Throwable;
           10   12     5     x  Ljava/lang/Throwable;
    Signature: (Ljava/util/concurrent/CompletableFuture<*>;Ljava/util/concurrent/CompletableFuture<*>;)Z
    MethodParameters:
      Name  Flags
      a     
      b     

  static java.util.concurrent.CompletableFuture<java.lang.Void> andTree(java.util.concurrent.CompletableFuture<?>[], int, int);
    descriptor: ([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture[] cfs
        start local 1 // int lo
        start local 2 // int hi
         0: .line 1310
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
         1: .line 1311
            iload 1 /* lo */
            iload 2 /* hi */
            if_icmple 3
         2: .line 1312
            aload 3 /* d */
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            goto 18
         3: .line 1315
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            iload 1 /* lo */
            iload 2 /* hi */
            iadd
            iconst_1
            iushr
            istore 6 /* mid */
        start local 6 // int mid
         4: .line 1316
            iload 1 /* lo */
            iload 6 /* mid */
            if_icmpne 5
            aload 0 /* cfs */
            iload 1 /* lo */
            aaload
            goto 6
         5: .line 1317
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture top top int
      StackMap stack:
            aload 0 /* cfs */
            iload 1 /* lo */
            iload 6 /* mid */
            invokestatic java.util.concurrent.CompletableFuture.andTree:([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
         6: .line 1316
      StackMap locals:
      StackMap stack: java.util.concurrent.CompletableFuture
            dup
            astore 4 /* a */
        start local 4 // java.util.concurrent.CompletableFuture a
         7: ifnull 13
         8: .line 1318
            iload 1 /* lo */
            iload 2 /* hi */
            if_icmpne 9
            aload 4 /* a */
            goto 11
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture top int
      StackMap stack:
         9: iload 2 /* hi */
            iload 6 /* mid */
            iconst_1
            iadd
            if_icmpne 10
            aload 0 /* cfs */
            iload 2 /* hi */
            aaload
            goto 11
        10: .line 1319
      StackMap locals:
      StackMap stack:
            aload 0 /* cfs */
            iload 6 /* mid */
            iconst_1
            iadd
            iload 2 /* hi */
            invokestatic java.util.concurrent.CompletableFuture.andTree:([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
        11: .line 1318
      StackMap locals:
      StackMap stack: java.util.concurrent.CompletableFuture
            dup
            astore 5 /* b */
        start local 5 // java.util.concurrent.CompletableFuture b
        12: ifnonnull 14
        end local 5 // java.util.concurrent.CompletableFuture b
        13: .line 1320
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
        start local 5 // java.util.concurrent.CompletableFuture b
        14: .line 1321
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture int
      StackMap stack:
            aload 3 /* d */
            aload 4 /* a */
            aload 5 /* b */
            invokevirtual java.util.concurrent.CompletableFuture.biRelay:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)Z
            ifne 18
        15: .line 1322
            new java.util.concurrent.CompletableFuture$BiRelay
            dup
            aload 3 /* d */
            aload 4 /* a */
            aload 5 /* b */
            invokespecial java.util.concurrent.CompletableFuture$BiRelay.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
            astore 7 /* c */
        start local 7 // java.util.concurrent.CompletableFuture$BiRelay c
        16: .line 1323
            aload 4 /* a */
            aload 5 /* b */
            aload 7 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.bipush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
        17: .line 1324
            aload 7 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$BiRelay.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 7 // java.util.concurrent.CompletableFuture$BiRelay c
        end local 6 // int mid
        end local 5 // java.util.concurrent.CompletableFuture b
        end local 4 // java.util.concurrent.CompletableFuture a
        18: .line 1327
      StackMap locals:
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 3 // java.util.concurrent.CompletableFuture d
        end local 2 // int hi
        end local 1 // int lo
        end local 0 // java.util.concurrent.CompletableFuture[] cfs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0   cfs  [Ljava/util/concurrent/CompletableFuture;
            0   19     1    lo  I
            0   19     2    hi  I
            1   19     3     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
            7   18     4     a  Ljava/util/concurrent/CompletableFuture<*>;
           12   13     5     b  Ljava/util/concurrent/CompletableFuture<*>;
           14   18     5     b  Ljava/util/concurrent/CompletableFuture<*>;
            4   18     6   mid  I
           16   18     7     c  Ljava/util/concurrent/CompletableFuture$BiRelay<**>;
    Signature: ([Ljava/util/concurrent/CompletableFuture<*>;II)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      cfs   
      lo    
      hi    

  final void orpush(java.util.concurrent.CompletableFuture<?>, java.util.concurrent.CompletableFuture$BiCompletion<?, ?, ?>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture b
        start local 2 // java.util.concurrent.CompletableFuture$BiCompletion c
         0: .line 1334
            aload 2 /* c */
            ifnull 13
         1: .line 1335
            goto 11
         2: .line 1336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 10
         3: .line 1337
            aload 1 /* b */
            ifnull 13
            aload 1 /* b */
            aload 0 /* this */
            if_acmpeq 13
            aload 1 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 13
         4: .line 1338
            new java.util.concurrent.CompletableFuture$CoCompletion
            dup
            aload 2 /* c */
            invokespecial java.util.concurrent.CompletableFuture$CoCompletion.<init>:(Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
            astore 3 /* q */
        start local 3 // java.util.concurrent.CompletableFuture$Completion q
         5: .line 1339
            goto 7
         6: .line 1341
      StackMap locals: java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            aload 3 /* q */
            aconst_null
            invokestatic java.util.concurrent.CompletableFuture.lazySetNext:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)V
         7: .line 1339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 13
            aload 1 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 13
         8: .line 1340
            aload 1 /* b */
            aload 3 /* q */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 6
        end local 3 // java.util.concurrent.CompletableFuture$Completion q
         9: .line 1343
            goto 13
        10: .line 1345
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            aconst_null
            invokestatic java.util.concurrent.CompletableFuture.lazySetNext:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)V
        11: .line 1335
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            ifnull 12
            aload 1 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 13
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 2
        13: .line 1348
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.concurrent.CompletableFuture$BiCompletion c
        end local 1 // java.util.concurrent.CompletableFuture b
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   14     1     b  Ljava/util/concurrent/CompletableFuture<*>;
            0   14     2     c  Ljava/util/concurrent/CompletableFuture$BiCompletion<***>;
            5    9     3     q  Ljava/util/concurrent/CompletableFuture$Completion;
    Signature: (Ljava/util/concurrent/CompletableFuture<*>;Ljava/util/concurrent/CompletableFuture$BiCompletion<***>;)V
    MethodParameters:
      Name  Flags
      b     
      c     

  final <R, S extends R> boolean orApply(java.util.concurrent.CompletableFuture<R>, java.util.concurrent.CompletableFuture<S>, java.util.function.Function<? super R, ? extends T>, java.util.concurrent.CompletableFuture$OrApply<R, S, T>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$OrApply;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.concurrent.CompletableFuture b
        start local 3 // java.util.function.Function f
        start local 4 // java.util.concurrent.CompletableFuture$OrApply c
         0: .line 1376
            aload 1 /* a */
            ifnull 4
            aload 2 /* b */
            ifnull 4
         1: .line 1377
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         2: ifnonnull 3
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
            ifnull 4
      StackMap locals: java.lang.Object
      StackMap stack:
         3: aload 3 /* f */
            ifnonnull 5
        end local 5 // java.lang.Object r
         4: .line 1378
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 5 // java.lang.Object r
         5: .line 1379
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 19
         6: .line 1381
            aload 4 /* c */
            ifnull 8
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$OrApply.claim:()Z
            ifne 8
         7: .line 1382
            iconst_0
            ireturn
         8: .line 1383
      StackMap locals:
      StackMap stack:
            aload 5 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 14
         9: .line 1384
            aload 5 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 6 /* x */
        start local 6 // java.lang.Throwable x
        10: ifnull 13
        11: .line 1385
            aload 0 /* this */
            aload 6 /* x */
            aload 5 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
        12: .line 1386
            goto 19
        13: .line 1388
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 5 /* r */
        end local 6 // java.lang.Throwable x
        14: .line 1390
      StackMap locals:
      StackMap stack:
            aload 5 /* r */
            astore 7 /* rr */
        start local 7 // java.lang.Object rr
        15: .line 1391
            aload 0 /* this */
            aload 3 /* f */
            aload 7 /* rr */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.util.concurrent.CompletableFuture.completeValue:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.Object rr
        16: .line 1392
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 7 /* ex */
        start local 7 // java.lang.Throwable ex
        18: .line 1393
            aload 0 /* this */
            aload 7 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 7 // java.lang.Throwable ex
        19: .line 1396
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // java.lang.Object r
        end local 4 // java.util.concurrent.CompletableFuture$OrApply c
        end local 3 // java.util.function.Function f
        end local 2 // java.util.concurrent.CompletableFuture b
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   20     1     a  Ljava/util/concurrent/CompletableFuture<TR;>;
            0   20     2     b  Ljava/util/concurrent/CompletableFuture<TS;>;
            0   20     3     f  Ljava/util/function/Function<-TR;+TT;>;
            0   20     4     c  Ljava/util/concurrent/CompletableFuture$OrApply<TR;TS;TT;>;
            2    4     5     r  Ljava/lang/Object;
            5   20     5     r  Ljava/lang/Object;
           10   14     6     x  Ljava/lang/Throwable;
           15   16     7    rr  TR;
           18   19     7    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6     7      17  Class java.lang.Throwable
           8    12      17  Class java.lang.Throwable
          13    16      17  Class java.lang.Throwable
    Signature: <R:Ljava/lang/Object;S:TR;>(Ljava/util/concurrent/CompletableFuture<TR;>;Ljava/util/concurrent/CompletableFuture<TS;>;Ljava/util/function/Function<-TR;+TT;>;Ljava/util/concurrent/CompletableFuture$OrApply<TR;TS;TT;>;)Z
    MethodParameters:
      Name  Flags
      a     
      b     
      f     
      c     

  private <U extends T, V> java.util.concurrent.CompletableFuture<V> orApplyStage(java.util.concurrent.Executor, java.util.concurrent.CompletionStage<U>, java.util.function.Function<? super T, ? extends V>);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.util.concurrent.CompletionStage o
        start local 3 // java.util.function.Function f
         0: .line 1403
            aload 3 /* f */
            ifnull 2
            aload 2 /* o */
            invokeinterface java.util.concurrent.CompletionStage.toCompletableFuture:()Ljava/util/concurrent/CompletableFuture;
            dup
            astore 4 /* b */
        start local 4 // java.util.concurrent.CompletableFuture b
         1: ifnonnull 3
        end local 4 // java.util.concurrent.CompletableFuture b
         2: .line 1404
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
        start local 4 // java.util.concurrent.CompletableFuture b
         3: .line 1405
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 5 /* d */
        start local 5 // java.util.concurrent.CompletableFuture d
         4: .line 1406
            aload 1 /* e */
            ifnonnull 5
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.orApply:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$OrApply;)Z
            ifne 8
         5: .line 1407
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$OrApply
            dup
            aload 1 /* e */
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            invokespecial java.util.concurrent.CompletableFuture$OrApply.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;)V
            astore 6 /* c */
        start local 6 // java.util.concurrent.CompletableFuture$OrApply c
         6: .line 1408
            aload 0 /* this */
            aload 4 /* b */
            aload 6 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.orpush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
         7: .line 1409
            aload 6 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$OrApply.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 6 // java.util.concurrent.CompletableFuture$OrApply c
         8: .line 1411
      StackMap locals:
      StackMap stack:
            aload 5 /* d */
            areturn
        end local 5 // java.util.concurrent.CompletableFuture d
        end local 4 // java.util.concurrent.CompletableFuture b
        end local 3 // java.util.function.Function f
        end local 2 // java.util.concurrent.CompletionStage o
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    9     1     e  Ljava/util/concurrent/Executor;
            0    9     2     o  Ljava/util/concurrent/CompletionStage<TU;>;
            0    9     3     f  Ljava/util/function/Function<-TT;+TV;>;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            3    9     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            4    9     5     d  Ljava/util/concurrent/CompletableFuture<TV;>;
            6    8     6     c  Ljava/util/concurrent/CompletableFuture$OrApply<TT;TU;TV;>;
    Signature: <U:TT;V:Ljava/lang/Object;>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage<TU;>;Ljava/util/function/Function<-TT;+TV;>;)Ljava/util/concurrent/CompletableFuture<TV;>;
    MethodParameters:
      Name  Flags
      e     
      o     
      f     

  final <R, S extends R> boolean orAccept(java.util.concurrent.CompletableFuture<R>, java.util.concurrent.CompletableFuture<S>, java.util.function.Consumer<? super R>, java.util.concurrent.CompletableFuture$OrAccept<R, S>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;Ljava/util/concurrent/CompletableFuture$OrAccept;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.concurrent.CompletableFuture b
        start local 3 // java.util.function.Consumer f
        start local 4 // java.util.concurrent.CompletableFuture$OrAccept c
         0: .line 1440
            aload 1 /* a */
            ifnull 4
            aload 2 /* b */
            ifnull 4
         1: .line 1441
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         2: ifnonnull 3
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
            ifnull 4
      StackMap locals: java.lang.Object
      StackMap stack:
         3: aload 3 /* f */
            ifnonnull 5
        end local 5 // java.lang.Object r
         4: .line 1442
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 5 // java.lang.Object r
         5: .line 1443
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 20
         6: .line 1445
            aload 4 /* c */
            ifnull 8
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$OrAccept.claim:()Z
            ifne 8
         7: .line 1446
            iconst_0
            ireturn
         8: .line 1447
      StackMap locals:
      StackMap stack:
            aload 5 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 14
         9: .line 1448
            aload 5 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 6 /* x */
        start local 6 // java.lang.Throwable x
        10: ifnull 13
        11: .line 1449
            aload 0 /* this */
            aload 6 /* x */
            aload 5 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
        12: .line 1450
            goto 20
        13: .line 1452
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 5 /* r */
        end local 6 // java.lang.Throwable x
        14: .line 1454
      StackMap locals:
      StackMap stack:
            aload 5 /* r */
            astore 7 /* rr */
        start local 7 // java.lang.Object rr
        15: .line 1455
            aload 3 /* f */
            aload 7 /* rr */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        16: .line 1456
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.completeNull:()Z
            pop
        end local 7 // java.lang.Object rr
        17: .line 1457
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 7 /* ex */
        start local 7 // java.lang.Throwable ex
        19: .line 1458
            aload 0 /* this */
            aload 7 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 7 // java.lang.Throwable ex
        20: .line 1461
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // java.lang.Object r
        end local 4 // java.util.concurrent.CompletableFuture$OrAccept c
        end local 3 // java.util.function.Consumer f
        end local 2 // java.util.concurrent.CompletableFuture b
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   21     1     a  Ljava/util/concurrent/CompletableFuture<TR;>;
            0   21     2     b  Ljava/util/concurrent/CompletableFuture<TS;>;
            0   21     3     f  Ljava/util/function/Consumer<-TR;>;
            0   21     4     c  Ljava/util/concurrent/CompletableFuture$OrAccept<TR;TS;>;
            2    4     5     r  Ljava/lang/Object;
            5   21     5     r  Ljava/lang/Object;
           10   14     6     x  Ljava/lang/Throwable;
           15   17     7    rr  TR;
           19   20     7    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6     7      18  Class java.lang.Throwable
           8    12      18  Class java.lang.Throwable
          13    17      18  Class java.lang.Throwable
    Signature: <R:Ljava/lang/Object;S:TR;>(Ljava/util/concurrent/CompletableFuture<TR;>;Ljava/util/concurrent/CompletableFuture<TS;>;Ljava/util/function/Consumer<-TR;>;Ljava/util/concurrent/CompletableFuture$OrAccept<TR;TS;>;)Z
    MethodParameters:
      Name  Flags
      a     
      b     
      f     
      c     

  private <U extends T> java.util.concurrent.CompletableFuture<java.lang.Void> orAcceptStage(java.util.concurrent.Executor, java.util.concurrent.CompletionStage<U>, java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.util.concurrent.CompletionStage o
        start local 3 // java.util.function.Consumer f
         0: .line 1467
            aload 3 /* f */
            ifnull 2
            aload 2 /* o */
            invokeinterface java.util.concurrent.CompletionStage.toCompletableFuture:()Ljava/util/concurrent/CompletableFuture;
            dup
            astore 4 /* b */
        start local 4 // java.util.concurrent.CompletableFuture b
         1: ifnonnull 3
        end local 4 // java.util.concurrent.CompletableFuture b
         2: .line 1468
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
        start local 4 // java.util.concurrent.CompletableFuture b
         3: .line 1469
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 5 /* d */
        start local 5 // java.util.concurrent.CompletableFuture d
         4: .line 1470
            aload 1 /* e */
            ifnonnull 5
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.orAccept:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;Ljava/util/concurrent/CompletableFuture$OrAccept;)Z
            ifne 8
         5: .line 1471
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$OrAccept
            dup
            aload 1 /* e */
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            invokespecial java.util.concurrent.CompletableFuture$OrAccept.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;)V
            astore 6 /* c */
        start local 6 // java.util.concurrent.CompletableFuture$OrAccept c
         6: .line 1472
            aload 0 /* this */
            aload 4 /* b */
            aload 6 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.orpush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
         7: .line 1473
            aload 6 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$OrAccept.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 6 // java.util.concurrent.CompletableFuture$OrAccept c
         8: .line 1475
      StackMap locals:
      StackMap stack:
            aload 5 /* d */
            areturn
        end local 5 // java.util.concurrent.CompletableFuture d
        end local 4 // java.util.concurrent.CompletableFuture b
        end local 3 // java.util.function.Consumer f
        end local 2 // java.util.concurrent.CompletionStage o
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    9     1     e  Ljava/util/concurrent/Executor;
            0    9     2     o  Ljava/util/concurrent/CompletionStage<TU;>;
            0    9     3     f  Ljava/util/function/Consumer<-TT;>;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            3    9     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            4    9     5     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
            6    8     6     c  Ljava/util/concurrent/CompletableFuture$OrAccept<TT;TU;>;
    Signature: <U:TT;>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage<TU;>;Ljava/util/function/Consumer<-TT;>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      e     
      o     
      f     

  final boolean orRun(java.util.concurrent.CompletableFuture<?>, java.util.concurrent.CompletableFuture<?>, java.lang.Runnable, java.util.concurrent.CompletableFuture$OrRun<?, ?>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$OrRun;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.concurrent.CompletableFuture b
        start local 3 // java.lang.Runnable f
        start local 4 // java.util.concurrent.CompletableFuture$OrRun c
         0: .line 1502
            aload 1 /* a */
            ifnull 4
            aload 2 /* b */
            ifnull 4
         1: .line 1503
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         2: ifnonnull 3
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
            ifnull 4
      StackMap locals: java.lang.Object
      StackMap stack:
         3: aload 3 /* f */
            ifnonnull 5
        end local 5 // java.lang.Object r
         4: .line 1504
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 5 // java.lang.Object r
         5: .line 1505
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 16
         6: .line 1507
            aload 4 /* c */
            ifnull 8
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$OrRun.claim:()Z
            ifne 8
         7: .line 1508
            iconst_0
            ireturn
         8: .line 1509
      StackMap locals:
      StackMap stack:
            aload 5 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 11
            aload 5 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 6 /* x */
        start local 6 // java.lang.Throwable x
         9: ifnull 11
        10: .line 1510
            aload 0 /* this */
            aload 6 /* x */
            aload 5 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
            goto 16
        end local 6 // java.lang.Throwable x
        11: .line 1512
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            invokeinterface java.lang.Runnable.run:()V
        12: .line 1513
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.completeNull:()Z
            pop
        13: .line 1515
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 7 /* ex */
        start local 7 // java.lang.Throwable ex
        15: .line 1516
            aload 0 /* this */
            aload 7 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 7 // java.lang.Throwable ex
        16: .line 1519
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // java.lang.Object r
        end local 4 // java.util.concurrent.CompletableFuture$OrRun c
        end local 3 // java.lang.Runnable f
        end local 2 // java.util.concurrent.CompletableFuture b
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   17     1     a  Ljava/util/concurrent/CompletableFuture<*>;
            0   17     2     b  Ljava/util/concurrent/CompletableFuture<*>;
            0   17     3     f  Ljava/lang/Runnable;
            0   17     4     c  Ljava/util/concurrent/CompletableFuture$OrRun<**>;
            2    4     5     r  Ljava/lang/Object;
            5   17     5     r  Ljava/lang/Object;
            9   11     6     x  Ljava/lang/Throwable;
           15   16     7    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6     7      14  Class java.lang.Throwable
           8    13      14  Class java.lang.Throwable
    Signature: (Ljava/util/concurrent/CompletableFuture<*>;Ljava/util/concurrent/CompletableFuture<*>;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$OrRun<**>;)Z
    MethodParameters:
      Name  Flags
      a     
      b     
      f     
      c     

  private java.util.concurrent.CompletableFuture<java.lang.Void> orRunStage(java.util.concurrent.Executor, java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.Executor e
        start local 2 // java.util.concurrent.CompletionStage o
        start local 3 // java.lang.Runnable f
         0: .line 1525
            aload 3 /* f */
            ifnull 2
            aload 2 /* o */
            invokeinterface java.util.concurrent.CompletionStage.toCompletableFuture:()Ljava/util/concurrent/CompletableFuture;
            dup
            astore 4 /* b */
        start local 4 // java.util.concurrent.CompletableFuture b
         1: ifnonnull 3
        end local 4 // java.util.concurrent.CompletableFuture b
         2: .line 1526
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
        start local 4 // java.util.concurrent.CompletableFuture b
         3: .line 1527
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 5 /* d */
        start local 5 // java.util.concurrent.CompletableFuture d
         4: .line 1528
            aload 1 /* e */
            ifnonnull 5
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.orRun:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$OrRun;)Z
            ifne 8
         5: .line 1529
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            new java.util.concurrent.CompletableFuture$OrRun
            dup
            aload 1 /* e */
            aload 5 /* d */
            aload 0 /* this */
            aload 4 /* b */
            aload 3 /* f */
            invokespecial java.util.concurrent.CompletableFuture$OrRun.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;)V
            astore 6 /* c */
        start local 6 // java.util.concurrent.CompletableFuture$OrRun c
         6: .line 1530
            aload 0 /* this */
            aload 4 /* b */
            aload 6 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.orpush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
         7: .line 1531
            aload 6 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$OrRun.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 6 // java.util.concurrent.CompletableFuture$OrRun c
         8: .line 1533
      StackMap locals:
      StackMap stack:
            aload 5 /* d */
            areturn
        end local 5 // java.util.concurrent.CompletableFuture d
        end local 4 // java.util.concurrent.CompletableFuture b
        end local 3 // java.lang.Runnable f
        end local 2 // java.util.concurrent.CompletionStage o
        end local 1 // java.util.concurrent.Executor e
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    9     1     e  Ljava/util/concurrent/Executor;
            0    9     2     o  Ljava/util/concurrent/CompletionStage<*>;
            0    9     3     f  Ljava/lang/Runnable;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<*>;
            3    9     4     b  Ljava/util/concurrent/CompletableFuture<*>;
            4    9     5     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
            6    8     6     c  Ljava/util/concurrent/CompletableFuture$OrRun<TT;*>;
    Signature: (Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage<*>;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      e     
      o     
      f     

  final boolean orRelay(java.util.concurrent.CompletableFuture<?>, java.util.concurrent.CompletableFuture<?>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture a
        start local 2 // java.util.concurrent.CompletableFuture b
         0: .line 1555
            aload 1 /* a */
            ifnull 3
            aload 2 /* b */
            ifnull 3
         1: .line 1556
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 3 /* r */
        start local 3 // java.lang.Object r
         2: ifnonnull 4
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 3 /* r */
            ifnonnull 4
        end local 3 // java.lang.Object r
         3: .line 1557
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 3 // java.lang.Object r
         4: .line 1558
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 6
         5: .line 1559
            aload 0 /* this */
            aload 3 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeRelay:(Ljava/lang/Object;)Z
            pop
         6: .line 1560
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.lang.Object r
        end local 2 // java.util.concurrent.CompletableFuture b
        end local 1 // java.util.concurrent.CompletableFuture a
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    7     1     a  Ljava/util/concurrent/CompletableFuture<*>;
            0    7     2     b  Ljava/util/concurrent/CompletableFuture<*>;
            2    3     3     r  Ljava/lang/Object;
            4    7     3     r  Ljava/lang/Object;
    Signature: (Ljava/util/concurrent/CompletableFuture<*>;Ljava/util/concurrent/CompletableFuture<*>;)Z
    MethodParameters:
      Name  Flags
      a     
      b     

  static java.util.concurrent.CompletableFuture<java.lang.Object> orTree(java.util.concurrent.CompletableFuture<?>[], int, int);
    descriptor: ([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture[] cfs
        start local 1 // int lo
        start local 2 // int hi
         0: .line 1566
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
         1: .line 1567
            iload 1 /* lo */
            iload 2 /* hi */
            if_icmpgt 17
         2: .line 1569
            iload 1 /* lo */
            iload 2 /* hi */
            iadd
            iconst_1
            iushr
            istore 6 /* mid */
        start local 6 // int mid
         3: .line 1570
            iload 1 /* lo */
            iload 6 /* mid */
            if_icmpne 4
            aload 0 /* cfs */
            iload 1 /* lo */
            aaload
            goto 5
         4: .line 1571
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture top top int
      StackMap stack:
            aload 0 /* cfs */
            iload 1 /* lo */
            iload 6 /* mid */
            invokestatic java.util.concurrent.CompletableFuture.orTree:([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
         5: .line 1570
      StackMap locals:
      StackMap stack: java.util.concurrent.CompletableFuture
            dup
            astore 4 /* a */
        start local 4 // java.util.concurrent.CompletableFuture a
         6: ifnull 12
         7: .line 1572
            iload 1 /* lo */
            iload 2 /* hi */
            if_icmpne 8
            aload 4 /* a */
            goto 10
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture top int
      StackMap stack:
         8: iload 2 /* hi */
            iload 6 /* mid */
            iconst_1
            iadd
            if_icmpne 9
            aload 0 /* cfs */
            iload 2 /* hi */
            aaload
            goto 10
         9: .line 1573
      StackMap locals:
      StackMap stack:
            aload 0 /* cfs */
            iload 6 /* mid */
            iconst_1
            iadd
            iload 2 /* hi */
            invokestatic java.util.concurrent.CompletableFuture.orTree:([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
        10: .line 1572
      StackMap locals:
      StackMap stack: java.util.concurrent.CompletableFuture
            dup
            astore 5 /* b */
        start local 5 // java.util.concurrent.CompletableFuture b
        11: ifnonnull 13
        end local 5 // java.util.concurrent.CompletableFuture b
        12: .line 1574
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
        start local 5 // java.util.concurrent.CompletableFuture b
        13: .line 1575
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture int
      StackMap stack:
            aload 3 /* d */
            aload 4 /* a */
            aload 5 /* b */
            invokevirtual java.util.concurrent.CompletableFuture.orRelay:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)Z
            ifne 17
        14: .line 1576
            new java.util.concurrent.CompletableFuture$OrRelay
            dup
            aload 3 /* d */
            aload 4 /* a */
            aload 5 /* b */
            invokespecial java.util.concurrent.CompletableFuture$OrRelay.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
            astore 7 /* c */
        start local 7 // java.util.concurrent.CompletableFuture$OrRelay c
        15: .line 1577
            aload 4 /* a */
            aload 5 /* b */
            aload 7 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.orpush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
        16: .line 1578
            aload 7 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$OrRelay.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 7 // java.util.concurrent.CompletableFuture$OrRelay c
        end local 6 // int mid
        end local 5 // java.util.concurrent.CompletableFuture b
        end local 4 // java.util.concurrent.CompletableFuture a
        17: .line 1581
      StackMap locals:
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 3 // java.util.concurrent.CompletableFuture d
        end local 2 // int hi
        end local 1 // int lo
        end local 0 // java.util.concurrent.CompletableFuture[] cfs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0   cfs  [Ljava/util/concurrent/CompletableFuture;
            0   18     1    lo  I
            0   18     2    hi  I
            1   18     3     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Object;>;
            6   17     4     a  Ljava/util/concurrent/CompletableFuture<*>;
           11   12     5     b  Ljava/util/concurrent/CompletableFuture<*>;
           13   17     5     b  Ljava/util/concurrent/CompletableFuture<*>;
            3   17     6   mid  I
           15   17     7     c  Ljava/util/concurrent/CompletableFuture$OrRelay<**>;
    Signature: ([Ljava/util/concurrent/CompletableFuture<*>;II)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      cfs   
      lo    
      hi    

  static <U> java.util.concurrent.CompletableFuture<U> asyncSupplyStage(java.util.concurrent.Executor, java.util.function.Supplier<U>);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.util.concurrent.Executor e
        start local 1 // java.util.function.Supplier f
         0: .line 1616
            aload 1 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 1617
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 2 /* d */
        start local 2 // java.util.concurrent.CompletableFuture d
         2: .line 1618
            aload 0 /* e */
            new java.util.concurrent.CompletableFuture$AsyncSupply
            dup
            aload 2 /* d */
            aload 1 /* f */
            invokespecial java.util.concurrent.CompletableFuture$AsyncSupply.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Supplier;)V
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         3: .line 1619
            aload 2 /* d */
            areturn
        end local 2 // java.util.concurrent.CompletableFuture d
        end local 1 // java.util.function.Supplier f
        end local 0 // java.util.concurrent.Executor e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     e  Ljava/util/concurrent/Executor;
            0    4     1     f  Ljava/util/function/Supplier<TU;>;
            2    4     2     d  Ljava/util/concurrent/CompletableFuture<TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/concurrent/Executor;Ljava/util/function/Supplier<TU;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
      Name  Flags
      e     
      f     

  static java.util.concurrent.CompletableFuture<java.lang.Void> asyncRunStage(java.util.concurrent.Executor, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.util.concurrent.Executor e
        start local 1 // java.lang.Runnable f
         0: .line 1652
            aload 1 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 1653
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 2 /* d */
        start local 2 // java.util.concurrent.CompletableFuture d
         2: .line 1654
            aload 0 /* e */
            new java.util.concurrent.CompletableFuture$AsyncRun
            dup
            aload 2 /* d */
            aload 1 /* f */
            invokespecial java.util.concurrent.CompletableFuture$AsyncRun.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;)V
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         3: .line 1655
            aload 2 /* d */
            areturn
        end local 2 // java.util.concurrent.CompletableFuture d
        end local 1 // java.lang.Runnable f
        end local 0 // java.util.concurrent.Executor e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     e  Ljava/util/concurrent/Executor;
            0    4     1     f  Ljava/lang/Runnable;
            2    4     2     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    Signature: (Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      e     
      f     

  private java.lang.Object waitingGet(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // boolean interruptible
         0: .line 1720
            aconst_null
            astore 2 /* q */
        start local 2 // java.util.concurrent.CompletableFuture$Signaller q
         1: .line 1721
            iconst_0
            istore 3 /* queued */
        start local 3 // boolean queued
         2: .line 1722
            iconst_m1
            istore 4 /* spins */
        start local 4 // int spins
         3: .line 1724
            goto 23
        start local 5 // java.lang.Object r
         4: .line 1725
      StackMap locals: java.util.concurrent.CompletableFuture int java.util.concurrent.CompletableFuture$Signaller int int java.lang.Object
      StackMap stack:
            iload 4 /* spins */
            ifge 6
         5: .line 1726
            getstatic java.util.concurrent.CompletableFuture.SPINS:I
            istore 4 /* spins */
            goto 23
         6: .line 1727
      StackMap locals:
      StackMap stack:
            iload 4 /* spins */
            ifle 10
         7: .line 1728
            invokestatic java.util.concurrent.ThreadLocalRandom.nextSecondarySeed:()I
            iflt 23
         8: .line 1729
            iinc 4 /* spins */ -1
         9: .line 1730
            goto 23
        10: .line 1731
      StackMap locals:
      StackMap stack:
            aload 2 /* q */
            ifnonnull 12
        11: .line 1732
            new java.util.concurrent.CompletableFuture$Signaller
            dup
            iload 1 /* interruptible */
            lconst_0
            lconst_0
            invokespecial java.util.concurrent.CompletableFuture$Signaller.<init>:(ZJJ)V
            astore 2 /* q */
            goto 23
        12: .line 1733
      StackMap locals:
      StackMap stack:
            iload 3 /* queued */
            ifne 14
        13: .line 1734
            aload 0 /* this */
            aload 2 /* q */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            istore 3 /* queued */
            goto 23
        14: .line 1735
      StackMap locals:
      StackMap stack:
            iload 1 /* interruptible */
            ifeq 18
            aload 2 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.interruptControl:I
            ifge 18
        15: .line 1736
            aload 2 /* q */
            aconst_null
            putfield java.util.concurrent.CompletableFuture$Signaller.thread:Ljava/lang/Thread;
        16: .line 1737
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.cleanStack:()V
        17: .line 1738
            aconst_null
            areturn
        18: .line 1740
      StackMap locals:
      StackMap stack:
            aload 2 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.thread:Ljava/lang/Thread;
            ifnull 23
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 23
        19: .line 1742
            aload 2 /* q */
            invokestatic java.util.concurrent.ForkJoinPool.managedBlock:(Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
        20: .line 1743
            goto 23
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        21: pop
        22: .line 1744
            aload 2 /* q */
            iconst_m1
            putfield java.util.concurrent.CompletableFuture$Signaller.interruptControl:I
        end local 5 // java.lang.Object r
        23: .line 1724
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
        24: ifnull 4
        25: .line 1748
            aload 2 /* q */
            ifnull 31
        26: .line 1749
            aload 2 /* q */
            aconst_null
            putfield java.util.concurrent.CompletableFuture$Signaller.thread:Ljava/lang/Thread;
        27: .line 1750
            aload 2 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.interruptControl:I
            ifge 31
        28: .line 1751
            iload 1 /* interruptible */
            ifeq 30
        29: .line 1752
            aconst_null
            astore 5 /* r */
            goto 31
        30: .line 1754
      StackMap locals: java.lang.Object
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        31: .line 1757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
        32: .line 1758
            aload 5 /* r */
            areturn
        end local 5 // java.lang.Object r
        end local 4 // int spins
        end local 3 // boolean queued
        end local 2 // java.util.concurrent.CompletableFuture$Signaller q
        end local 1 // boolean interruptible
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   33     0           this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   33     1  interruptible  Z
            1   33     2              q  Ljava/util/concurrent/CompletableFuture$Signaller;
            2   33     3         queued  Z
            3   33     4          spins  I
            4   23     5              r  Ljava/lang/Object;
           24   33     5              r  Ljava/lang/Object;
      Exception table:
        from    to  target  type
          19    20      21  Class java.lang.InterruptedException
    MethodParameters:
               Name  Flags
      interruptible  

  private java.lang.Object timedGet(long);
    descriptor: (J)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // long nanos
         0: .line 1766
            invokestatic java.lang.Thread.interrupted:()Z
            ifeq 2
         1: .line 1767
            aconst_null
            areturn
         2: .line 1768
      StackMap locals:
      StackMap stack:
            lload 1 /* nanos */
            lconst_0
            lcmp
            ifgt 4
         3: .line 1769
            new java.util.concurrent.TimeoutException
            dup
            invokespecial java.util.concurrent.TimeoutException.<init>:()V
            athrow
         4: .line 1770
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lload 1 /* nanos */
            ladd
            lstore 3 /* d */
        start local 3 // long d
         5: .line 1771
            new java.util.concurrent.CompletableFuture$Signaller
            dup
            iconst_1
            lload 1 /* nanos */
            lload 3 /* d */
            lconst_0
            lcmp
            ifne 6
            lconst_1
            goto 7
      StackMap locals: java.util.concurrent.CompletableFuture long long
      StackMap stack: new 5 new 5 int long
         6: lload 3 /* d */
      StackMap locals: java.util.concurrent.CompletableFuture long long
      StackMap stack: new 5 new 5 int long long
         7: invokespecial java.util.concurrent.CompletableFuture$Signaller.<init>:(ZJJ)V
            astore 5 /* q */
        start local 5 // java.util.concurrent.CompletableFuture$Signaller q
         8: .line 1772
            iconst_0
            istore 6 /* queued */
        start local 6 // boolean queued
         9: .line 1776
            goto 23
        start local 7 // java.lang.Object r
        10: .line 1777
      StackMap locals: java.util.concurrent.CompletableFuture$Signaller int java.lang.Object
      StackMap stack:
            iload 6 /* queued */
            ifne 12
        11: .line 1778
            aload 0 /* this */
            aload 5 /* q */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            istore 6 /* queued */
            goto 23
        12: .line 1779
      StackMap locals:
      StackMap stack:
            aload 5 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.interruptControl:I
            iflt 13
            aload 5 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.nanos:J
            lconst_0
            lcmp
            ifgt 18
        13: .line 1780
      StackMap locals:
      StackMap stack:
            aload 5 /* q */
            aconst_null
            putfield java.util.concurrent.CompletableFuture$Signaller.thread:Ljava/lang/Thread;
        14: .line 1781
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.cleanStack:()V
        15: .line 1782
            aload 5 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.interruptControl:I
            ifge 17
        16: .line 1783
            aconst_null
            areturn
        17: .line 1784
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.TimeoutException
            dup
            invokespecial java.util.concurrent.TimeoutException.<init>:()V
            athrow
        18: .line 1786
      StackMap locals:
      StackMap stack:
            aload 5 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.thread:Ljava/lang/Thread;
            ifnull 23
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 23
        19: .line 1788
            aload 5 /* q */
            invokestatic java.util.concurrent.ForkJoinPool.managedBlock:(Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
        20: .line 1789
            goto 23
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        21: pop
        22: .line 1790
            aload 5 /* q */
            iconst_m1
            putfield java.util.concurrent.CompletableFuture$Signaller.interruptControl:I
        end local 7 // java.lang.Object r
        23: .line 1776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 7 /* r */
        start local 7 // java.lang.Object r
        24: ifnull 10
        25: .line 1794
            aload 5 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.interruptControl:I
            ifge 27
        26: .line 1795
            aconst_null
            astore 7 /* r */
        27: .line 1796
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* q */
            aconst_null
            putfield java.util.concurrent.CompletableFuture$Signaller.thread:Ljava/lang/Thread;
        28: .line 1797
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
        29: .line 1798
            aload 7 /* r */
            areturn
        end local 7 // java.lang.Object r
        end local 6 // boolean queued
        end local 5 // java.util.concurrent.CompletableFuture$Signaller q
        end local 3 // long d
        end local 1 // long nanos
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   30     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   30     1   nanos  J
            5   30     3       d  J
            8   30     5       q  Ljava/util/concurrent/CompletableFuture$Signaller;
            9   30     6  queued  Z
           10   23     7       r  Ljava/lang/Object;
           24   30     7       r  Ljava/lang/Object;
      Exception table:
        from    to  target  type
          19    20      21  Class java.lang.InterruptedException
    Exceptions:
      throws java.util.concurrent.TimeoutException
    MethodParameters:
       Name  Flags
      nanos  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 1806
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1807
            return
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;

  private void <init>(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object r
         0: .line 1812
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1813
            aload 0 /* this */
            aload 1 /* r */
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
         2: .line 1814
            return
        end local 1 // java.lang.Object r
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    3     1     r  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      r     

  public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>);
    descriptor: (Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.function.Supplier supplier
         0: .line 1827
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 0 /* supplier */
            invokestatic java.util.concurrent.CompletableFuture.asyncSupplyStage:(Ljava/util/concurrent/Executor;Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 0 // java.util.function.Supplier supplier
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  supplier  Ljava/util/function/Supplier<TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/Supplier<TU;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
          Name  Flags
      supplier  

  public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.function.Supplier supplier
        start local 1 // java.util.concurrent.Executor executor
         0: .line 1843
            aload 1 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 0 /* supplier */
            invokestatic java.util.concurrent.CompletableFuture.asyncSupplyStage:(Ljava/util/concurrent/Executor;Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.concurrent.Executor executor
        end local 0 // java.util.function.Supplier supplier
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  supplier  Ljava/util/function/Supplier<TU;>;
            0    1     1  executor  Ljava/util/concurrent/Executor;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/Supplier<TU;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
          Name  Flags
      supplier  
      executor  

  public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Runnable runnable
         0: .line 1856
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 0 /* runnable */
            invokestatic java.util.concurrent.CompletableFuture.asyncRunStage:(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 0 // java.lang.Runnable runnable
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  runnable  Ljava/lang/Runnable;
    Signature: (Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
          Name  Flags
      runnable  

  public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(java.lang.Runnable, java.util.concurrent.Executor);
    descriptor: (Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Runnable runnable
        start local 1 // java.util.concurrent.Executor executor
         0: .line 1871
            aload 1 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 0 /* runnable */
            invokestatic java.util.concurrent.CompletableFuture.asyncRunStage:(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.concurrent.Executor executor
        end local 0 // java.lang.Runnable runnable
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  runnable  Ljava/lang/Runnable;
            0    1     1  executor  Ljava/util/concurrent/Executor;
    Signature: (Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
          Name  Flags
      runnable  
      executor  

  public static <U> java.util.concurrent.CompletableFuture<U> completedFuture(U);
    descriptor: (Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 1883
            new java.util.concurrent.CompletableFuture
            dup
            aload 0 /* value */
            ifnonnull 1
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            goto 2
      StackMap locals: java.lang.Object
      StackMap stack: new 0 new 0
         1: aload 0 /* value */
      StackMap locals: java.lang.Object
      StackMap stack: new 0 new 0 java.lang.Object
         2: invokespecial java.util.concurrent.CompletableFuture.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  TU;
    Signature: <U:Ljava/lang/Object;>(TU;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
       Name  Flags
      value  

  public boolean isDone();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 1893
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;

  public T get();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 1908
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 1 /* r */
        start local 1 // java.lang.Object r
         1: ifnonnull 2
            aload 0 /* this */
            iconst_1
            invokevirtual java.util.concurrent.CompletableFuture.waitingGet:(Z)Ljava/lang/Object;
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: aload 1 /* r */
      StackMap locals:
      StackMap stack: java.lang.Object
         3: invokestatic java.util.concurrent.CompletableFuture.reportGet:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object r
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            1    4     1     r  Ljava/lang/Object;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    Signature: ()TT;

  public T get(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // long timeout
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 1927
            aload 3 /* unit */
            lload 1 /* timeout */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            lstore 5 /* nanos */
        start local 5 // long nanos
         1: .line 1928
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         2: ifnonnull 3
            aload 0 /* this */
            lload 5 /* nanos */
            invokevirtual java.util.concurrent.CompletableFuture.timedGet:(J)Ljava/lang/Object;
            goto 4
      StackMap locals: java.lang.Object long
      StackMap stack:
         3: aload 4 /* r */
      StackMap locals:
      StackMap stack: java.lang.Object
         4: invokestatic java.util.concurrent.CompletableFuture.reportGet:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 5 // long nanos
        end local 4 // java.lang.Object r
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long timeout
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    5     1  timeout  J
            0    5     3     unit  Ljava/util/concurrent/TimeUnit;
            2    5     4        r  Ljava/lang/Object;
            1    5     5    nanos  J
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
    Signature: (JLjava/util/concurrent/TimeUnit;)TT;
    MethodParameters:
         Name  Flags
      timeout  
      unit     

  public T join();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 1947
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 1 /* r */
        start local 1 // java.lang.Object r
         1: ifnonnull 2
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture.waitingGet:(Z)Ljava/lang/Object;
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: aload 1 /* r */
      StackMap locals:
      StackMap stack: java.lang.Object
         3: invokestatic java.util.concurrent.CompletableFuture.reportJoin:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object r
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            1    4     1     r  Ljava/lang/Object;
    Signature: ()TT;

  public T getNow();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object valueIfAbsent
         0: .line 1962
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 2 /* r */
        start local 2 // java.lang.Object r
         1: ifnonnull 2
            aload 1 /* valueIfAbsent */
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: aload 2 /* r */
            invokestatic java.util.concurrent.CompletableFuture.reportJoin:(Ljava/lang/Object;)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 2 // java.lang.Object r
        end local 1 // java.lang.Object valueIfAbsent
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    4     1  valueIfAbsent  TT;
            1    4     2              r  Ljava/lang/Object;
    Signature: (TT;)TT;
    MethodParameters:
               Name  Flags
      valueIfAbsent  

  public boolean complete();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object value
         0: .line 1974
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual java.util.concurrent.CompletableFuture.completeValue:(Ljava/lang/Object;)Z
            istore 2 /* triggered */
        start local 2 // boolean triggered
         1: .line 1975
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         2: .line 1976
            iload 2 /* triggered */
            ireturn
        end local 2 // boolean triggered
        end local 1 // java.lang.Object value
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    3     1      value  TT;
            1    3     2  triggered  Z
    Signature: (TT;)Z
    MethodParameters:
       Name  Flags
      value  

  public boolean completeExceptionally(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Throwable ex
         0: .line 1988
            aload 1 /* ex */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 1989
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.concurrent.CompletableFuture$AltResult
            dup
            aload 1 /* ex */
            invokespecial java.util.concurrent.CompletableFuture$AltResult.<init>:(Ljava/lang/Throwable;)V
            invokevirtual java.util.concurrent.CompletableFuture.internalComplete:(Ljava/lang/Object;)Z
            istore 2 /* triggered */
        start local 2 // boolean triggered
         2: .line 1990
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         3: .line 1991
            iload 2 /* triggered */
            ireturn
        end local 2 // boolean triggered
        end local 1 // java.lang.Throwable ex
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    4     1         ex  Ljava/lang/Throwable;
            2    4     2  triggered  Z
    MethodParameters:
      Name  Flags
      ex    

  public <U> java.util.concurrent.CompletableFuture<U> thenApply(java.util.function.Function<? super T, ? extends U>);
    descriptor: (Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Function fn
         0: .line 1996
            aload 0 /* this */
            aconst_null
            aload 1 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.uniApplyStage:(Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.Function fn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1    fn  Ljava/util/function/Function<-TT;+TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/Function<-TT;+TU;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
      Name  Flags
      fn    

  public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
    descriptor: (Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Function fn
         0: .line 2001
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.uniApplyStage:(Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.Function fn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1    fn  Ljava/util/function/Function<-TT;+TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/Function<-TT;+TU;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
      Name  Flags
      fn    

  public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Function fn
        start local 2 // java.util.concurrent.Executor executor
         0: .line 2006
            aload 0 /* this */
            aload 2 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.uniApplyStage:(Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.concurrent.Executor executor
        end local 1 // java.util.function.Function fn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1        fn  Ljava/util/function/Function<-TT;+TU;>;
            0    1     2  executor  Ljava/util/concurrent/Executor;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/Function<-TT;+TU;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
          Name  Flags
      fn        
      executor  

  public java.util.concurrent.CompletableFuture<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Consumer action
         0: .line 2010
            aload 0 /* this */
            aconst_null
            aload 1 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.uniAcceptStage:(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.Consumer action
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1  action  Ljava/util/function/Consumer<-TT;>;
    Signature: (Ljava/util/function/Consumer<-TT;>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      action  

  public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Consumer action
         0: .line 2014
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.uniAcceptStage:(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.Consumer action
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1  action  Ljava/util/function/Consumer<-TT;>;
    Signature: (Ljava/util/function/Consumer<-TT;>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      action  

  public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Consumer action
        start local 2 // java.util.concurrent.Executor executor
         0: .line 2019
            aload 0 /* this */
            aload 2 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.uniAcceptStage:(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.concurrent.Executor executor
        end local 1 // java.util.function.Consumer action
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1    action  Ljava/util/function/Consumer<-TT;>;
            0    1     2  executor  Ljava/util/concurrent/Executor;
    Signature: (Ljava/util/function/Consumer<-TT;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
          Name  Flags
      action    
      executor  

  public java.util.concurrent.CompletableFuture<java.lang.Void> thenRun(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Runnable action
         0: .line 2023
            aload 0 /* this */
            aconst_null
            aload 1 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.uniRunStage:(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.lang.Runnable action
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1  action  Ljava/lang/Runnable;
    Signature: (Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      action  

  public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Runnable action
         0: .line 2027
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.uniRunStage:(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.lang.Runnable action
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1  action  Ljava/lang/Runnable;
    Signature: (Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      action  

  public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(java.lang.Runnable, java.util.concurrent.Executor);
    descriptor: (Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Runnable action
        start local 2 // java.util.concurrent.Executor executor
         0: .line 2032
            aload 0 /* this */
            aload 2 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.uniRunStage:(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.concurrent.Executor executor
        end local 1 // java.lang.Runnable action
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1    action  Ljava/lang/Runnable;
            0    1     2  executor  Ljava/util/concurrent/Executor;
    Signature: (Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
          Name  Flags
      action    
      executor  

  public <U, V> java.util.concurrent.CompletableFuture<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.BiFunction fn
         0: .line 2038
            aload 0 /* this */
            aconst_null
            aload 1 /* other */
            aload 2 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.biApplyStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.function.BiFunction fn
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1  other  Ljava/util/concurrent/CompletionStage<+TU;>;
            0    1     2     fn  Ljava/util/function/BiFunction<-TT;-TU;+TV;>;
    Signature: <U:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/CompletionStage<+TU;>;Ljava/util/function/BiFunction<-TT;-TU;+TV;>;)Ljava/util/concurrent/CompletableFuture<TV;>;
    MethodParameters:
       Name  Flags
      other  
      fn     

  public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.BiFunction fn
         0: .line 2044
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.biApplyStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.function.BiFunction fn
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1  other  Ljava/util/concurrent/CompletionStage<+TU;>;
            0    1     2     fn  Ljava/util/function/BiFunction<-TT;-TU;+TV;>;
    Signature: <U:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/CompletionStage<+TU;>;Ljava/util/function/BiFunction<-TT;-TU;+TV;>;)Ljava/util/concurrent/CompletableFuture<TV;>;
    MethodParameters:
       Name  Flags
      other  
      fn     

  public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.BiFunction fn
        start local 3 // java.util.concurrent.Executor executor
         0: .line 2050
            aload 0 /* this */
            aload 3 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.biApplyStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // java.util.function.BiFunction fn
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1     other  Ljava/util/concurrent/CompletionStage<+TU;>;
            0    1     2        fn  Ljava/util/function/BiFunction<-TT;-TU;+TV;>;
            0    1     3  executor  Ljava/util/concurrent/Executor;
    Signature: <U:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/CompletionStage<+TU;>;Ljava/util/function/BiFunction<-TT;-TU;+TV;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TV;>;
    MethodParameters:
          Name  Flags
      other     
      fn        
      executor  

  public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.BiConsumer action
         0: .line 2056
            aload 0 /* this */
            aconst_null
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.biAcceptStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.function.BiConsumer action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1   other  Ljava/util/concurrent/CompletionStage<+TU;>;
            0    1     2  action  Ljava/util/function/BiConsumer<-TT;-TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/concurrent/CompletionStage<+TU;>;Ljava/util/function/BiConsumer<-TT;-TU;>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      other   
      action  

  public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.BiConsumer action
         0: .line 2062
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.biAcceptStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.function.BiConsumer action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1   other  Ljava/util/concurrent/CompletionStage<+TU;>;
            0    1     2  action  Ljava/util/function/BiConsumer<-TT;-TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/concurrent/CompletionStage<+TU;>;Ljava/util/function/BiConsumer<-TT;-TU;>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      other   
      action  

  public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.BiConsumer action
        start local 3 // java.util.concurrent.Executor executor
         0: .line 2068
            aload 0 /* this */
            aload 3 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.biAcceptStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // java.util.function.BiConsumer action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1     other  Ljava/util/concurrent/CompletionStage<+TU;>;
            0    1     2    action  Ljava/util/function/BiConsumer<-TT;-TU;>;
            0    1     3  executor  Ljava/util/concurrent/Executor;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/concurrent/CompletionStage<+TU;>;Ljava/util/function/BiConsumer<-TT;-TU;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
          Name  Flags
      other     
      action    
      executor  

  public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBoth(java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.lang.Runnable action
         0: .line 2073
            aload 0 /* this */
            aconst_null
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.biRunStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.lang.Runnable action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1   other  Ljava/util/concurrent/CompletionStage<*>;
            0    1     2  action  Ljava/lang/Runnable;
    Signature: (Ljava/util/concurrent/CompletionStage<*>;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      other   
      action  

  public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.lang.Runnable action
         0: .line 2078
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.biRunStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.lang.Runnable action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1   other  Ljava/util/concurrent/CompletionStage<*>;
            0    1     2  action  Ljava/lang/Runnable;
    Signature: (Ljava/util/concurrent/CompletionStage<*>;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      other   
      action  

  public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.lang.Runnable action
        start local 3 // java.util.concurrent.Executor executor
         0: .line 2084
            aload 0 /* this */
            aload 3 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.biRunStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // java.lang.Runnable action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1     other  Ljava/util/concurrent/CompletionStage<*>;
            0    1     2    action  Ljava/lang/Runnable;
            0    1     3  executor  Ljava/util/concurrent/Executor;
    Signature: (Ljava/util/concurrent/CompletionStage<*>;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
          Name  Flags
      other     
      action    
      executor  

  public <U> java.util.concurrent.CompletableFuture<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.Function fn
         0: .line 2089
            aload 0 /* this */
            aconst_null
            aload 1 /* other */
            aload 2 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.orApplyStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.function.Function fn
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1  other  Ljava/util/concurrent/CompletionStage<+TT;>;
            0    1     2     fn  Ljava/util/function/Function<-TT;TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/concurrent/CompletionStage<+TT;>;Ljava/util/function/Function<-TT;TU;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
       Name  Flags
      other  
      fn     

  public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.Function fn
         0: .line 2094
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.orApplyStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.function.Function fn
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1  other  Ljava/util/concurrent/CompletionStage<+TT;>;
            0    1     2     fn  Ljava/util/function/Function<-TT;TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/concurrent/CompletionStage<+TT;>;Ljava/util/function/Function<-TT;TU;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
       Name  Flags
      other  
      fn     

  public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.Function fn
        start local 3 // java.util.concurrent.Executor executor
         0: .line 2100
            aload 0 /* this */
            aload 3 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.orApplyStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // java.util.function.Function fn
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1     other  Ljava/util/concurrent/CompletionStage<+TT;>;
            0    1     2        fn  Ljava/util/function/Function<-TT;TU;>;
            0    1     3  executor  Ljava/util/concurrent/Executor;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/concurrent/CompletionStage<+TT;>;Ljava/util/function/Function<-TT;TU;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
          Name  Flags
      other     
      fn        
      executor  

  public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.Consumer action
         0: .line 2105
            aload 0 /* this */
            aconst_null
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.orAcceptStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.function.Consumer action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1   other  Ljava/util/concurrent/CompletionStage<+TT;>;
            0    1     2  action  Ljava/util/function/Consumer<-TT;>;
    Signature: (Ljava/util/concurrent/CompletionStage<+TT;>;Ljava/util/function/Consumer<-TT;>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      other   
      action  

  public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.Consumer action
         0: .line 2110
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.orAcceptStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.function.Consumer action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1   other  Ljava/util/concurrent/CompletionStage<+TT;>;
            0    1     2  action  Ljava/util/function/Consumer<-TT;>;
    Signature: (Ljava/util/concurrent/CompletionStage<+TT;>;Ljava/util/function/Consumer<-TT;>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      other   
      action  

  public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.util.function.Consumer action
        start local 3 // java.util.concurrent.Executor executor
         0: .line 2116
            aload 0 /* this */
            aload 3 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.orAcceptStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // java.util.function.Consumer action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1     other  Ljava/util/concurrent/CompletionStage<+TT;>;
            0    1     2    action  Ljava/util/function/Consumer<-TT;>;
            0    1     3  executor  Ljava/util/concurrent/Executor;
    Signature: (Ljava/util/concurrent/CompletionStage<+TT;>;Ljava/util/function/Consumer<-TT;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
          Name  Flags
      other     
      action    
      executor  

  public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEither(java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.lang.Runnable action
         0: .line 2121
            aload 0 /* this */
            aconst_null
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.orRunStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.lang.Runnable action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1   other  Ljava/util/concurrent/CompletionStage<*>;
            0    1     2  action  Ljava/lang/Runnable;
    Signature: (Ljava/util/concurrent/CompletionStage<*>;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      other   
      action  

  public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.lang.Runnable action
         0: .line 2126
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.orRunStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.lang.Runnable action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1   other  Ljava/util/concurrent/CompletionStage<*>;
            0    1     2  action  Ljava/lang/Runnable;
    Signature: (Ljava/util/concurrent/CompletionStage<*>;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
        Name  Flags
      other   
      action  

  public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletionStage other
        start local 2 // java.lang.Runnable action
        start local 3 // java.util.concurrent.Executor executor
         0: .line 2132
            aload 0 /* this */
            aload 3 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* other */
            aload 2 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.orRunStage:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // java.lang.Runnable action
        end local 1 // java.util.concurrent.CompletionStage other
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1     other  Ljava/util/concurrent/CompletionStage<*>;
            0    1     2    action  Ljava/lang/Runnable;
            0    1     3  executor  Ljava/util/concurrent/Executor;
    Signature: (Ljava/util/concurrent/CompletionStage<*>;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
          Name  Flags
      other     
      action    
      executor  

  public <U> java.util.concurrent.CompletableFuture<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
    descriptor: (Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Function fn
         0: .line 2137
            aload 0 /* this */
            aconst_null
            aload 1 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.uniComposeStage:(Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.Function fn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1    fn  Ljava/util/function/Function<-TT;+Ljava/util/concurrent/CompletionStage<TU;>;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/Function<-TT;+Ljava/util/concurrent/CompletionStage<TU;>;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
      Name  Flags
      fn    

  public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
    descriptor: (Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Function fn
         0: .line 2142
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.uniComposeStage:(Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.Function fn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1    fn  Ljava/util/function/Function<-TT;+Ljava/util/concurrent/CompletionStage<TU;>;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/Function<-TT;+Ljava/util/concurrent/CompletionStage<TU;>;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
      Name  Flags
      fn    

  public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Function fn
        start local 2 // java.util.concurrent.Executor executor
         0: .line 2148
            aload 0 /* this */
            aload 2 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.uniComposeStage:(Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.concurrent.Executor executor
        end local 1 // java.util.function.Function fn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1        fn  Ljava/util/function/Function<-TT;+Ljava/util/concurrent/CompletionStage<TU;>;>;
            0    1     2  executor  Ljava/util/concurrent/Executor;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/Function<-TT;+Ljava/util/concurrent/CompletionStage<TU;>;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
          Name  Flags
      fn        
      executor  

  public java.util.concurrent.CompletableFuture<T> whenComplete(java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>);
    descriptor: (Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.BiConsumer action
         0: .line 2153
            aload 0 /* this */
            aconst_null
            aload 1 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.uniWhenCompleteStage:(Ljava/util/concurrent/Executor;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.BiConsumer action
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1  action  Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
    Signature: (Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
        Name  Flags
      action  

  public java.util.concurrent.CompletableFuture<T> whenCompleteAsync(java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>);
    descriptor: (Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.BiConsumer action
         0: .line 2158
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.uniWhenCompleteStage:(Ljava/util/concurrent/Executor;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.BiConsumer action
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1  action  Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
    Signature: (Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
        Name  Flags
      action  

  public java.util.concurrent.CompletableFuture<T> whenCompleteAsync(java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.BiConsumer action
        start local 2 // java.util.concurrent.Executor executor
         0: .line 2163
            aload 0 /* this */
            aload 2 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* action */
            invokevirtual java.util.concurrent.CompletableFuture.uniWhenCompleteStage:(Ljava/util/concurrent/Executor;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.concurrent.Executor executor
        end local 1 // java.util.function.BiConsumer action
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1    action  Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
            0    1     2  executor  Ljava/util/concurrent/Executor;
    Signature: (Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
          Name  Flags
      action    
      executor  

  public <U> java.util.concurrent.CompletableFuture<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
    descriptor: (Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.BiFunction fn
         0: .line 2168
            aload 0 /* this */
            aconst_null
            aload 1 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.uniHandleStage:(Ljava/util/concurrent/Executor;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.BiFunction fn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1    fn  Ljava/util/function/BiFunction<-TT;Ljava/lang/Throwable;+TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/BiFunction<-TT;Ljava/lang/Throwable;+TU;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
      Name  Flags
      fn    

  public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
    descriptor: (Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.BiFunction fn
         0: .line 2173
            aload 0 /* this */
            getstatic java.util.concurrent.CompletableFuture.asyncPool:Ljava/util/concurrent/Executor;
            aload 1 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.uniHandleStage:(Ljava/util/concurrent/Executor;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.BiFunction fn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1    fn  Ljava/util/function/BiFunction<-TT;Ljava/lang/Throwable;+TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/BiFunction<-TT;Ljava/lang/Throwable;+TU;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
      Name  Flags
      fn    

  public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.BiFunction fn
        start local 2 // java.util.concurrent.Executor executor
         0: .line 2178
            aload 0 /* this */
            aload 2 /* executor */
            invokestatic java.util.concurrent.CompletableFuture.screenExecutor:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
            aload 1 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.uniHandleStage:(Ljava/util/concurrent/Executor;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 2 // java.util.concurrent.Executor executor
        end local 1 // java.util.function.BiFunction fn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1        fn  Ljava/util/function/BiFunction<-TT;Ljava/lang/Throwable;+TU;>;
            0    1     2  executor  Ljava/util/concurrent/Executor;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/BiFunction<-TT;Ljava/lang/Throwable;+TU;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
          Name  Flags
      fn        
      executor  

  public java.util.concurrent.CompletableFuture<T> toCompletableFuture();
    descriptor: ()Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 2187
            aload 0 /* this */
            areturn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
    Signature: ()Ljava/util/concurrent/CompletableFuture<TT;>;

  public java.util.concurrent.CompletableFuture<T> exceptionally(java.util.function.Function<java.lang.Throwable, ? extends T>);
    descriptor: (Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Function fn
         0: .line 2209
            aload 0 /* this */
            aload 1 /* fn */
            invokevirtual java.util.concurrent.CompletableFuture.uniExceptionallyStage:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.Function fn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1    fn  Ljava/util/function/Function<Ljava/lang/Throwable;+TT;>;
    Signature: (Ljava/util/function/Function<Ljava/lang/Throwable;+TT;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
      Name  Flags
      fn    

  public static java.util.concurrent.CompletableFuture<java.lang.Void> allOf(java.util.concurrent.CompletableFuture<?>[]);
    descriptor: ([Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture[] cfs
         0: .line 2238
            aload 0 /* cfs */
            iconst_0
            aload 0 /* cfs */
            arraylength
            iconst_1
            isub
            invokestatic java.util.concurrent.CompletableFuture.andTree:([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 0 // java.util.concurrent.CompletableFuture[] cfs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   cfs  [Ljava/util/concurrent/CompletableFuture;
    Signature: ([Ljava/util/concurrent/CompletableFuture<*>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      cfs   

  public static java.util.concurrent.CompletableFuture<java.lang.Object> anyOf(java.util.concurrent.CompletableFuture<?>[]);
    descriptor: ([Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture[] cfs
         0: .line 2257
            aload 0 /* cfs */
            iconst_0
            aload 0 /* cfs */
            arraylength
            iconst_1
            isub
            invokestatic java.util.concurrent.CompletableFuture.orTree:([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 0 // java.util.concurrent.CompletableFuture[] cfs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   cfs  [Ljava/util/concurrent/CompletableFuture;
    Signature: ([Ljava/util/concurrent/CompletableFuture<*>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      cfs   

  public boolean cancel(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // boolean mayInterruptIfRunning
         0: .line 2276
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 3
         1: .line 2277
            aload 0 /* this */
            new java.util.concurrent.CompletableFuture$AltResult
            dup
            new java.util.concurrent.CancellationException
            dup
            invokespecial java.util.concurrent.CancellationException.<init>:()V
            invokespecial java.util.concurrent.CompletableFuture$AltResult.<init>:(Ljava/lang/Throwable;)V
            invokevirtual java.util.concurrent.CompletableFuture.internalComplete:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 2276
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 2 /* cancelled */
        start local 2 // boolean cancelled
         5: .line 2278
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         6: .line 2279
            iload 2 /* cancelled */
            ifne 7
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.isCancelled:()Z
            ifne 7
            iconst_0
            ireturn
      StackMap locals: int
      StackMap stack:
         7: iconst_1
            ireturn
        end local 2 // boolean cancelled
        end local 1 // boolean mayInterruptIfRunning
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    8     0                   this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    8     1  mayInterruptIfRunning  Z
            5    8     2              cancelled  Z
    MethodParameters:
                       Name  Flags
      mayInterruptIfRunning  

  public boolean isCancelled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 2291
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 1 /* r */
        start local 1 // java.lang.Object r
         1: instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 4
         2: .line 2292
            aload 1 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            instanceof java.util.concurrent.CancellationException
            ifeq 4
         3: .line 2291
            iconst_1
            ireturn
      StackMap locals: java.lang.Object
      StackMap stack:
         4: iconst_0
            ireturn
        end local 1 // java.lang.Object r
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            1    5     1     r  Ljava/lang/Object;

  public boolean isCompletedExceptionally();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 2307
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 1 /* r */
        start local 1 // java.lang.Object r
         1: instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 2
            aload 1 /* r */
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            if_acmpeq 2
            iconst_1
            ireturn
      StackMap locals: java.lang.Object
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // java.lang.Object r
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            1    3     1     r  Ljava/lang/Object;

  public void obtrudeValue();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object value
         0: .line 2321
            aload 0 /* this */
            aload 1 /* value */
            ifnonnull 1
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            goto 2
      StackMap locals:
      StackMap stack: java.util.concurrent.CompletableFuture
         1: aload 1 /* value */
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack: java.util.concurrent.CompletableFuture java.lang.Object
         2: putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
         3: .line 2322
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         4: .line 2323
            return
        end local 1 // java.lang.Object value
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    5     1  value  TT;
    Signature: (TT;)V
    MethodParameters:
       Name  Flags
      value  

  public void obtrudeException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Throwable ex
         0: .line 2337
            aload 1 /* ex */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 2338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.concurrent.CompletableFuture$AltResult
            dup
            aload 1 /* ex */
            invokespecial java.util.concurrent.CompletableFuture$AltResult.<init>:(Ljava/lang/Throwable;)V
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
         2: .line 2339
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         3: .line 2340
            return
        end local 1 // java.lang.Throwable ex
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    4     1    ex  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      ex    

  public int getNumberOfDependents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 2351
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 2352
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 2 /* p */
        start local 2 // java.util.concurrent.CompletableFuture$Completion p
         2: goto 5
         3: .line 2353
      StackMap locals: int java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            iinc 1 /* count */ 1
         4: .line 2352
            aload 2 /* p */
            getfield java.util.concurrent.CompletableFuture$Completion.next:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 2 /* p */
      StackMap locals:
      StackMap stack:
         5: aload 2 /* p */
            ifnonnull 3
        end local 2 // java.util.concurrent.CompletableFuture$Completion p
         6: .line 2354
            iload 1 /* count */
            ireturn
        end local 1 // int count
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljava/util/concurrent/CompletableFuture<TT;>;
            1    7     1  count  I
            2    6     2      p  Ljava/util/concurrent/CompletableFuture$Completion;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 2368
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            astore 1 /* r */
        start local 1 // java.lang.Object r
         1: .line 2370
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokespecial java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 2371
            aload 1 /* r */
            ifnonnull 7
         3: .line 2372
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.getNumberOfDependents:()I
            dup
            istore 2 /* count */
        start local 2 // int count
         4: ifne 6
         5: .line 2373
            ldc "[Not completed]"
            goto 10
         6: .line 2374
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object int
      StackMap stack: java.lang.StringBuilder
            new java.lang.StringBuilder
            dup
            ldc "[Not completed, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " dependents]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 10
        end local 2 // int count
         7: .line 2375
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack: java.lang.StringBuilder
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 9
            aload 1 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            ifnull 9
         8: .line 2376
            ldc "[Completed exceptionally]"
            goto 10
         9: .line 2377
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            ldc "[Completed normally]"
        10: .line 2371
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 2370
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object r
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljava/util/concurrent/CompletableFuture<TT;>;
            1   12     1      r  Ljava/lang/Object;
            4    7     2  count  I

  public java.util.concurrent.CompletionStage thenAcceptBoth(java.util.concurrent.CompletionStage, java.util.function.BiConsumer);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.BiConsumer
            invokevirtual java.util.concurrent.CompletableFuture.thenAcceptBoth:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenApplyAsync(java.util.function.Function, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Function
            aload 2
            invokevirtual java.util.concurrent.CompletableFuture.thenApplyAsync:(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenApplyAsync(java.util.function.Function);
    descriptor: (Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Function
            invokevirtual java.util.concurrent.CompletableFuture.thenApplyAsync:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenRun(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual java.util.concurrent.CompletableFuture.thenRun:(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage runAfterBothAsync(java.util.concurrent.CompletionStage, java.lang.Runnable, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual java.util.concurrent.CompletableFuture.runAfterBothAsync:(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage runAfterBothAsync(java.util.concurrent.CompletionStage, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual java.util.concurrent.CompletableFuture.runAfterBothAsync:(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage applyToEither(java.util.concurrent.CompletionStage, java.util.function.Function);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.Function
            invokevirtual java.util.concurrent.CompletableFuture.applyToEither:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage applyToEitherAsync(java.util.concurrent.CompletionStage, java.util.function.Function, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.Function
            aload 3
            invokevirtual java.util.concurrent.CompletableFuture.applyToEitherAsync:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage applyToEitherAsync(java.util.concurrent.CompletionStage, java.util.function.Function);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.Function
            invokevirtual java.util.concurrent.CompletableFuture.applyToEitherAsync:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenCombineAsync(java.util.concurrent.CompletionStage, java.util.function.BiFunction, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.BiFunction
            aload 3
            invokevirtual java.util.concurrent.CompletableFuture.thenCombineAsync:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenCombineAsync(java.util.concurrent.CompletionStage, java.util.function.BiFunction);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.BiFunction
            invokevirtual java.util.concurrent.CompletableFuture.thenCombineAsync:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenCombine(java.util.concurrent.CompletionStage, java.util.function.BiFunction);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.BiFunction
            invokevirtual java.util.concurrent.CompletableFuture.thenCombine:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage acceptEitherAsync(java.util.concurrent.CompletionStage, java.util.function.Consumer, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.Consumer
            aload 3
            invokevirtual java.util.concurrent.CompletableFuture.acceptEitherAsync:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage acceptEitherAsync(java.util.concurrent.CompletionStage, java.util.function.Consumer);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.Consumer
            invokevirtual java.util.concurrent.CompletableFuture.acceptEitherAsync:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage runAfterEither(java.util.concurrent.CompletionStage, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual java.util.concurrent.CompletableFuture.runAfterEither:(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage runAfterBoth(java.util.concurrent.CompletionStage, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual java.util.concurrent.CompletableFuture.runAfterBoth:(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenAcceptAsync(java.util.function.Consumer, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Consumer
            aload 2
            invokevirtual java.util.concurrent.CompletableFuture.thenAcceptAsync:(Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenAcceptAsync(java.util.function.Consumer);
    descriptor: (Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Consumer
            invokevirtual java.util.concurrent.CompletableFuture.thenAcceptAsync:(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage handle(java.util.function.BiFunction);
    descriptor: (Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.BiFunction
            invokevirtual java.util.concurrent.CompletableFuture.handle:(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenApply(java.util.function.Function);
    descriptor: (Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Function
            invokevirtual java.util.concurrent.CompletableFuture.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage whenCompleteAsync(java.util.function.BiConsumer, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.BiConsumer
            aload 2
            invokevirtual java.util.concurrent.CompletableFuture.whenCompleteAsync:(Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage whenCompleteAsync(java.util.function.BiConsumer);
    descriptor: (Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.BiConsumer
            invokevirtual java.util.concurrent.CompletableFuture.whenCompleteAsync:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenCompose(java.util.function.Function);
    descriptor: (Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Function
            invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenAcceptBothAsync(java.util.concurrent.CompletionStage, java.util.function.BiConsumer, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.BiConsumer
            aload 3
            invokevirtual java.util.concurrent.CompletableFuture.thenAcceptBothAsync:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenAcceptBothAsync(java.util.concurrent.CompletionStage, java.util.function.BiConsumer);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.BiConsumer
            invokevirtual java.util.concurrent.CompletableFuture.thenAcceptBothAsync:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage handleAsync(java.util.function.BiFunction, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.BiFunction
            aload 2
            invokevirtual java.util.concurrent.CompletableFuture.handleAsync:(Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage handleAsync(java.util.function.BiFunction);
    descriptor: (Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.BiFunction
            invokevirtual java.util.concurrent.CompletableFuture.handleAsync:(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenAccept(java.util.function.Consumer);
    descriptor: (Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Consumer
            invokevirtual java.util.concurrent.CompletableFuture.thenAccept:(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage acceptEither(java.util.concurrent.CompletionStage, java.util.function.Consumer);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.concurrent.CompletionStage
            aload 2
            checkcast java.util.function.Consumer
            invokevirtual java.util.concurrent.CompletableFuture.acceptEither:(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage runAfterEitherAsync(java.util.concurrent.CompletionStage, java.lang.Runnable, java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual java.util.concurrent.CompletableFuture.runAfterEitherAsync:(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage runAfterEitherAsync(java.util.concurrent.CompletionStage, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual java.util.concurrent.CompletableFuture.runAfterEitherAsync:(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenRunAsync(java.lang.Runnable, java.util.concurrent.Executor);
    descriptor: (Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual java.util.concurrent.CompletableFuture.thenRunAsync:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenRunAsync(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual java.util.concurrent.CompletableFuture.thenRunAsync:(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage exceptionally(java.util.function.Function);
    descriptor: (Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Function
            invokevirtual java.util.concurrent.CompletableFuture.exceptionally:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenComposeAsync(java.util.function.Function, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Function
            aload 2
            invokevirtual java.util.concurrent.CompletableFuture.thenComposeAsync:(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage thenComposeAsync(java.util.function.Function);
    descriptor: (Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Function
            invokevirtual java.util.concurrent.CompletableFuture.thenComposeAsync:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage whenComplete(java.util.function.BiConsumer);
    descriptor: (Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.BiConsumer
            invokevirtual java.util.concurrent.CompletableFuture.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/Future<TT;>;Ljava/util/concurrent/CompletionStage<TT;>;
SourceFile: "CompletableFuture.java"
NestMembers:
  java.util.concurrent.CompletableFuture$AltResult  java.util.concurrent.CompletableFuture$AsyncRun  java.util.concurrent.CompletableFuture$AsyncSupply  java.util.concurrent.CompletableFuture$AsynchronousCompletionTask  java.util.concurrent.CompletableFuture$BiAccept  java.util.concurrent.CompletableFuture$BiApply  java.util.concurrent.CompletableFuture$BiCompletion  java.util.concurrent.CompletableFuture$BiRelay  java.util.concurrent.CompletableFuture$BiRun  java.util.concurrent.CompletableFuture$CoCompletion  java.util.concurrent.CompletableFuture$Completion  java.util.concurrent.CompletableFuture$OrAccept  java.util.concurrent.CompletableFuture$OrApply  java.util.concurrent.CompletableFuture$OrRelay  java.util.concurrent.CompletableFuture$OrRun  java.util.concurrent.CompletableFuture$Signaller  java.util.concurrent.CompletableFuture$ThreadPerTaskExecutor  java.util.concurrent.CompletableFuture$UniAccept  java.util.concurrent.CompletableFuture$UniApply  java.util.concurrent.CompletableFuture$UniCompletion  java.util.concurrent.CompletableFuture$UniCompose  java.util.concurrent.CompletableFuture$UniExceptionally  java.util.concurrent.CompletableFuture$UniHandle  java.util.concurrent.CompletableFuture$UniRelay  java.util.concurrent.CompletableFuture$UniRun  java.util.concurrent.CompletableFuture$UniWhenComplete
InnerClasses:
  final AltResult = java.util.concurrent.CompletableFuture$AltResult of java.util.concurrent.CompletableFuture
  final AsyncRun = java.util.concurrent.CompletableFuture$AsyncRun of java.util.concurrent.CompletableFuture
  final AsyncSupply = java.util.concurrent.CompletableFuture$AsyncSupply of java.util.concurrent.CompletableFuture
  public abstract AsynchronousCompletionTask = java.util.concurrent.CompletableFuture$AsynchronousCompletionTask of java.util.concurrent.CompletableFuture
  final BiAccept = java.util.concurrent.CompletableFuture$BiAccept of java.util.concurrent.CompletableFuture
  final BiApply = java.util.concurrent.CompletableFuture$BiApply of java.util.concurrent.CompletableFuture
  abstract BiCompletion = java.util.concurrent.CompletableFuture$BiCompletion of java.util.concurrent.CompletableFuture
  final BiRelay = java.util.concurrent.CompletableFuture$BiRelay of java.util.concurrent.CompletableFuture
  final BiRun = java.util.concurrent.CompletableFuture$BiRun of java.util.concurrent.CompletableFuture
  final CoCompletion = java.util.concurrent.CompletableFuture$CoCompletion of java.util.concurrent.CompletableFuture
  abstract Completion = java.util.concurrent.CompletableFuture$Completion of java.util.concurrent.CompletableFuture
  final OrAccept = java.util.concurrent.CompletableFuture$OrAccept of java.util.concurrent.CompletableFuture
  final OrApply = java.util.concurrent.CompletableFuture$OrApply of java.util.concurrent.CompletableFuture
  final OrRelay = java.util.concurrent.CompletableFuture$OrRelay of java.util.concurrent.CompletableFuture
  final OrRun = java.util.concurrent.CompletableFuture$OrRun of java.util.concurrent.CompletableFuture
  final Signaller = java.util.concurrent.CompletableFuture$Signaller of java.util.concurrent.CompletableFuture
  final ThreadPerTaskExecutor = java.util.concurrent.CompletableFuture$ThreadPerTaskExecutor of java.util.concurrent.CompletableFuture
  final UniAccept = java.util.concurrent.CompletableFuture$UniAccept of java.util.concurrent.CompletableFuture
  final UniApply = java.util.concurrent.CompletableFuture$UniApply of java.util.concurrent.CompletableFuture
  abstract UniCompletion = java.util.concurrent.CompletableFuture$UniCompletion of java.util.concurrent.CompletableFuture
  final UniCompose = java.util.concurrent.CompletableFuture$UniCompose of java.util.concurrent.CompletableFuture
  final UniExceptionally = java.util.concurrent.CompletableFuture$UniExceptionally of java.util.concurrent.CompletableFuture
  final UniHandle = java.util.concurrent.CompletableFuture$UniHandle of java.util.concurrent.CompletableFuture
  final UniRelay = java.util.concurrent.CompletableFuture$UniRelay of java.util.concurrent.CompletableFuture
  final UniRun = java.util.concurrent.CompletableFuture$UniRun of java.util.concurrent.CompletableFuture
  final UniWhenComplete = java.util.concurrent.CompletableFuture$UniWhenComplete of java.util.concurrent.CompletableFuture
  public abstract ManagedBlocker = java.util.concurrent.ForkJoinPool$ManagedBlocker of java.util.concurrent.ForkJoinPool