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 USE_COMMON_POOL;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.concurrent.Executor ASYNC_POOL;
    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 java.lang.invoke.VarHandle RESULT;
    descriptor: Ljava/lang/invoke/VarHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 291
            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 430
            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 429
      StackMap locals:
      StackMap stack: int
            putstatic java.util.concurrent.CompletableFuture.USE_COMMON_POOL:Z
         4: .line 436
            getstatic java.util.concurrent.CompletableFuture.USE_COMMON_POOL:Z
            ifeq 6
         5: .line 437
            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 436
      StackMap locals:
      StackMap stack: java.util.concurrent.Executor
            putstatic java.util.concurrent.CompletableFuture.ASYNC_POOL:Ljava/util/concurrent/Executor;
         8: .line 2881
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            astore 0 /* l */
        start local 0 // java.lang.invoke.MethodHandles$Lookup l
         9: .line 2882
            aload 0 /* l */
            ldc Ljava/util/concurrent/CompletableFuture;
            ldc "result"
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            putstatic java.util.concurrent.CompletableFuture.RESULT:Ljava/lang/invoke/VarHandle;
        10: .line 2883
            aload 0 /* l */
            ldc Ljava/util/concurrent/CompletableFuture;
            ldc "stack"
            ldc Ljava/util/concurrent/CompletableFuture$Completion;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            putstatic java.util.concurrent.CompletableFuture.STACK:Ljava/lang/invoke/VarHandle;
        11: .line 2884
            aload 0 /* l */
            ldc Ljava/util/concurrent/CompletableFuture$Completion;
            ldc "next"
            ldc Ljava/util/concurrent/CompletableFuture$Completion;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            putstatic java.util.concurrent.CompletableFuture.NEXT:Ljava/lang/invoke/VarHandle;
        end local 0 // java.lang.invoke.MethodHandles$Lookup l
        12: .line 2885
            goto 15
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
        13: astore 0 /* e */
        start local 0 // java.lang.ReflectiveOperationException e
        14: .line 2886
            new java.lang.ExceptionInInitializerError
            dup
            aload 0 /* e */
            invokespecial java.lang.ExceptionInInitializerError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.ReflectiveOperationException e
        15: .line 2892
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            9   12     0     l  Ljava/lang/invoke/MethodHandles$Lookup;
           14   15     0     e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           8    12      13  Class java.lang.ReflectiveOperationException

  final boolean internalComplete(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object r
         0: .line 268
            getstatic java.util.concurrent.CompletableFuture.RESULT:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            aconst_null
            aload 1 /* r */
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Void;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 tryPushStack(java.util.concurrent.CompletableFuture$Completion);
    descriptor: (Ljava/util/concurrent/CompletableFuture$Completion;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture$Completion c
         0: .line 273
            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 274
            getstatic java.util.concurrent.CompletableFuture.NEXT:Ljava/lang/invoke/VarHandle;
            aload 1 /* c */
            aload 2 /* h */
            invokevirtual java.lang.invoke.VarHandle.set:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)V
         2: .line 275
            getstatic java.util.concurrent.CompletableFuture.STACK:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            aload 2 /* h */
            aload 1 /* c */
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)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 280
      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 281
            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=4, locals=1, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 295
            getstatic java.util.concurrent.CompletableFuture.RESULT:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            aconst_null
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Void;Ljava/util/concurrent/CompletableFuture$AltResult;)Z
            ireturn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     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 300
            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=4, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object t
         0: .line 305
            getstatic java.util.concurrent.CompletableFuture.RESULT:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            aconst_null
            aload 1 /* t */
            ifnonnull 1
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            goto 2
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack: java.lang.invoke.VarHandle java.util.concurrent.CompletableFuture null
         1: aload 1 /* t */
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack: java.lang.invoke.VarHandle java.util.concurrent.CompletableFuture null java.lang.Object
         2: invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Void;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    3     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    3     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 313
            new java.util.concurrent.CompletableFuture$AltResult
            dup
            aload 0 /* x */
            instanceof java.util.concurrent.CompletionException
            ifeq 1
            aload 0 /* x */
            goto 2
         1: .line 314
      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 313
      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=4, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Throwable x
         0: .line 319
            getstatic java.util.concurrent.CompletableFuture.RESULT:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            aconst_null
            aload 1 /* x */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Void;Ljava/util/concurrent/CompletableFuture$AltResult;)Z
            ireturn
        end local 1 // java.lang.Throwable x
        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     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 330
            aload 0 /* x */
            instanceof java.util.concurrent.CompletionException
            ifne 2
         1: .line 331
            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 332
      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 333
            aload 1 /* r */
            areturn
         4: .line 334
      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=5, 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 346
            getstatic java.util.concurrent.CompletableFuture.RESULT:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            aconst_null
            aload 1 /* x */
            aload 2 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Void;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    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    1     1     x  Ljava/lang/Throwable;
            0    1     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 355
            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 364
            aload 0 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 5
         1: .line 365
            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 366
            aload 1 /* x */
            instanceof java.util.concurrent.CompletionException
            ifne 5
         4: .line 367
            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
            astore 0 /* r */
        end local 1 // java.lang.Throwable x
         5: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            areturn
        end local 0 // java.lang.Object r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     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=4, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object r
         0: .line 376
            getstatic java.util.concurrent.CompletableFuture.RESULT:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            aconst_null
            aload 1 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeRelay:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Void;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     

  private static java.lang.Object reportGet(java.lang.Object);
    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 384
            aload 0 /* r */
            ifnonnull 2
         1: .line 385
            new java.lang.InterruptedException
            dup
            invokespecial java.lang.InterruptedException.<init>:()V
            athrow
         2: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 13
         3: .line 388
            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 389
            aconst_null
            areturn
         6: .line 390
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* x */
            instanceof java.util.concurrent.CancellationException
            ifeq 8
         7: .line 391
            aload 1 /* x */
            checkcast java.util.concurrent.CancellationException
            athrow
         8: .line 392
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.util.concurrent.CompletionException
            ifeq 12
         9: .line 393
            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 394
            aload 2 /* cause */
            astore 1 /* x */
        end local 2 // java.lang.Throwable cause
        12: .line 395
      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 397
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            areturn
        end local 0 // java.lang.Object r
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0      r  Ljava/lang/Object;
            4   13     1      x  Ljava/lang/Throwable;
           10   12     2  cause  Ljava/lang/Throwable;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    MethodParameters:
      Name  Flags
      r     

  private static java.lang.Object reportJoin(java.lang.Object);
    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 404
            aload 0 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 9
         1: .line 406
            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 407
            aconst_null
            areturn
         4: .line 408
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* x */
            instanceof java.util.concurrent.CancellationException
            ifeq 6
         5: .line 409
            aload 1 /* x */
            checkcast java.util.concurrent.CancellationException
            athrow
         6: .line 410
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.util.concurrent.CompletionException
            ifeq 8
         7: .line 411
            aload 1 /* x */
            checkcast java.util.concurrent.CompletionException
            athrow
         8: .line 412
      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 414
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            areturn
        end local 0 // java.lang.Object r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0     r  Ljava/lang/Object;
            2    9     1     x  Ljava/lang/Throwable;
    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 449
            getstatic java.util.concurrent.CompletableFuture.USE_COMMON_POOL:Z
            ifne 2
            aload 0 /* e */
            invokestatic java.util.concurrent.ForkJoinPool.commonPool:()Ljava/util/concurrent/ForkJoinPool;
            if_acmpne 2
         1: .line 450
            getstatic java.util.concurrent.CompletableFuture.ASYNC_POOL:Ljava/util/concurrent/Executor;
            areturn
         2: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* e */
            ifnonnull 3
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         3: .line 452
      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     

  final void postComplete();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 494
            aload 0 /* this */
            astore 1 /* f */
        start local 1 // java.util.concurrent.CompletableFuture f
         1: .line 495
            goto 13
        start local 2 // java.util.concurrent.CompletableFuture$Completion h
         2: .line 498
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            getstatic java.util.concurrent.CompletableFuture.STACK:Ljava/lang/invoke/VarHandle;
            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.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 13
         4: .line 499
            aload 4 /* t */
            ifnull 9
         5: .line 500
            aload 1 /* f */
            aload 0 /* this */
            if_acmpeq 8
         6: .line 501
            aload 0 /* this */
            aload 2 /* h */
            invokevirtual java.util.concurrent.CompletableFuture.pushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)V
         7: .line 502
            goto 13
         8: .line 504
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture$Completion top java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            getstatic java.util.concurrent.CompletableFuture.NEXT:Ljava/lang/invoke/VarHandle;
            aload 2 /* h */
            aload 4 /* t */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;Ljava/lang/Void;)V
         9: .line 506
      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 495
      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 496
            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 509
      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=5, locals=4, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 513
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 1 /* p */
        start local 1 // java.util.concurrent.CompletableFuture$Completion p
         1: .line 515
            iconst_0
            istore 2 /* unlinked */
        start local 2 // boolean unlinked
         2: .line 516
      StackMap locals: java.util.concurrent.CompletableFuture$Completion int
      StackMap stack:
            aload 1 /* p */
            ifnonnull 4
         3: .line 517
            return
         4: .line 518
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            invokevirtual java.util.concurrent.CompletableFuture$Completion.isLive:()Z
            ifeq 7
         5: .line 519
            iload 2 /* unlinked */
            ifeq 11
         6: .line 520
            return
         7: .line 524
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.CompletableFuture.STACK:Ljava/lang/invoke/VarHandle;
            aload 0 /* this */
            aload 1 /* p */
            aload 1 /* p */
            getfield java.util.concurrent.CompletableFuture$Completion.next:Ljava/util/concurrent/CompletableFuture$Completion;
            dup
            astore 1 /* p */
            invokevirtual java.lang.invoke.VarHandle.weakCompareAndSet:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 9
         8: .line 525
            iconst_1
            istore 2 /* unlinked */
            goto 2
         9: .line 527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 1 /* p */
        10: .line 515
            goto 2
        end local 2 // boolean unlinked
        11: .line 530
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            getfield java.util.concurrent.CompletableFuture$Completion.next:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 2 /* q */
        start local 2 // java.util.concurrent.CompletableFuture$Completion q
        12: goto 21
        13: .line 531
      StackMap locals: 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
        14: .line 532
            aload 2 /* q */
            invokevirtual java.util.concurrent.CompletableFuture$Completion.isLive:()Z
            ifeq 18
        15: .line 533
            aload 2 /* q */
            astore 1 /* p */
        16: .line 534
            aload 3 /* s */
            astore 2 /* q */
        17: .line 535
            goto 21
      StackMap locals: java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
        18: getstatic java.util.concurrent.CompletableFuture.NEXT:Ljava/lang/invoke/VarHandle;
            aload 1 /* p */
            aload 2 /* q */
            aload 3 /* s */
            invokevirtual java.lang.invoke.VarHandle.weakCompareAndSet:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 20
        19: .line 536
            goto 22
        20: .line 538
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            getfield java.util.concurrent.CompletableFuture$Completion.next:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 2 /* q */
        end local 3 // java.util.concurrent.CompletableFuture$Completion s
        21: .line 530
      StackMap locals:
      StackMap stack:
            aload 2 /* q */
            ifnonnull 13
        end local 2 // java.util.concurrent.CompletableFuture$Completion q
        22: .line 540
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.concurrent.CompletableFuture$Completion p
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            1   23     1         p  Ljava/util/concurrent/CompletableFuture$Completion;
            2   11     2  unlinked  Z
           12   22     2         q  Ljava/util/concurrent/CompletableFuture$Completion;
           14   21     3         s  Ljava/util/concurrent/CompletableFuture$Completion;

  final void unipush(java.util.concurrent.CompletableFuture$Completion);
    descriptor: (Ljava/util/concurrent/CompletableFuture$Completion;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.concurrent.CompletableFuture$Completion c
         0: .line 581
            aload 1 /* c */
            ifnull 8
         1: .line 582
            goto 5
         2: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 5
         3: .line 584
            getstatic java.util.concurrent.CompletableFuture.NEXT:Ljava/lang/invoke/VarHandle;
            aload 1 /* c */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.set:(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/lang/Void;)V
         4: .line 585
            goto 6
         5: .line 582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 2
         6: .line 588
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 8
         7: .line 589
            aload 1 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$Completion.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
         8: .line 591
      StackMap locals:
      StackMap stack:
            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    9     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    9     1     c  Ljava/util/concurrent/CompletableFuture$Completion;
    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=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 // int mode
         0: .line 599
            aload 1 /* a */
            ifnull 6
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            ifnull 6
         1: .line 601
            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
         3: .line 602
            aload 1 /* a */
            invokevirtual java.util.concurrent.CompletableFuture.cleanStack:()V
         4: .line 603
      StackMap locals: java.lang.Object
      StackMap stack:
            iload 2 /* mode */
            iflt 6
            aload 3 /* r */
            ifnonnull 5
            aload 1 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 6
         5: .line 604
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
        end local 3 // java.lang.Object r
         6: .line 606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 10
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            ifnull 10
         7: .line 607
            iload 2 /* mode */
            ifge 9
         8: .line 608
            aload 0 /* this */
            areturn
         9: .line 610
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
        10: .line 612
      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   11     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   11     1     a  Ljava/util/concurrent/CompletableFuture<*>;
            0   11     2  mode  I
            2    6     3     r  Ljava/lang/Object;
    Signature: (Ljava/util/concurrent/CompletableFuture<*>;I)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
      Name  Flags
      a     
      mode  

  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=7, 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 655
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 657
      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
         2: ifnull 4
         3: .line 658
            aload 0 /* this */
            aload 3 /* r */
            aload 1 /* e */
            aload 2 /* f */
            invokevirtual java.util.concurrent.CompletableFuture.uniApplyNow:(Ljava/lang/Object;Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
         4: .line 659
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 4 /* d */
        start local 4 // java.util.concurrent.CompletableFuture d
         5: .line 660
            aload 0 /* this */
            new java.util.concurrent.CompletableFuture$UniApply
            dup
            aload 1 /* e */
            aload 4 /* 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
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
         6: .line 661
            aload 4 /* d */
            areturn
        end local 4 // java.util.concurrent.CompletableFuture d
        end local 3 // java.lang.Object r
        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     r  Ljava/lang/Object;
            5    7     4     d  Ljava/util/concurrent/CompletableFuture<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     

  private <V> java.util.concurrent.CompletableFuture<V> uniApplyNow(, java.util.concurrent.Executor, java.util.function.Function<? super T, ? extends V>);
    descriptor: (Ljava/lang/Object;Ljava/util/concurrent/Executor;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.lang.Object r
        start local 2 // java.util.concurrent.Executor e
        start local 3 // java.util.function.Function f
         0: .line 667
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 5 /* d */
        start local 5 // java.util.concurrent.CompletableFuture d
         1: .line 668
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 7
         2: .line 669
            aload 1 /* 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
         3: ifnull 6
         4: .line 670
            aload 5 /* d */
            aload 4 /* x */
            aload 1 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/Object;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
         5: .line 671
            aload 5 /* d */
            areturn
         6: .line 673
      StackMap locals: java.lang.Throwable java.util.concurrent.CompletableFuture
      StackMap stack:
            aconst_null
            astore 1 /* r */
        end local 4 // java.lang.Throwable x
         7: .line 676
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object java.util.concurrent.Executor java.util.function.Function top java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 2 /* e */
            ifnull 10
         8: .line 677
            aload 2 /* e */
            new java.util.concurrent.CompletableFuture$UniApply
            dup
            aconst_null
            aload 5 /* d */
            aload 0 /* this */
            aload 3 /* 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
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         9: .line 678
            goto 15
        10: .line 679
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            astore 6 /* t */
        start local 6 // java.lang.Object t
        11: .line 680
            aload 5 /* d */
            aload 5 /* d */
            aload 3 /* f */
            aload 6 /* t */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.util.concurrent.CompletableFuture.encodeValue:(Ljava/lang/Object;)Ljava/lang/Object;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 6 // java.lang.Object t
        12: .line 682
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        14: .line 683
            aload 5 /* d */
            aload 6 /* ex */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 6 // java.lang.Throwable ex
        15: .line 685
      StackMap locals:
      StackMap stack:
            aload 5 /* d */
            areturn
        end local 5 // java.util.concurrent.CompletableFuture d
        end local 3 // java.util.function.Function f
        end local 2 // java.util.concurrent.Executor e
        end local 1 // java.lang.Object r
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   16     1     r  Ljava/lang/Object;
            0   16     2     e  Ljava/util/concurrent/Executor;
            0   16     3     f  Ljava/util/function/Function<-TT;+TV;>;
            3    7     4     x  Ljava/lang/Throwable;
            1   16     5     d  Ljava/util/concurrent/CompletableFuture<TV;>;
           11   12     6     t  TT;
           14   15     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7    12      13  Class java.lang.Throwable
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/util/concurrent/Executor;Ljava/util/function/Function<-TT;+TV;>;)Ljava/util/concurrent/CompletableFuture<TV;>;
    MethodParameters:
      Name  Flags
      r     
      e     
      f     

  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=7, 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 728
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 730
      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
         2: ifnull 4
         3: .line 731
            aload 0 /* this */
            aload 3 /* r */
            aload 1 /* e */
            aload 2 /* f */
            invokevirtual java.util.concurrent.CompletableFuture.uniAcceptNow:(Ljava/lang/Object;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
         4: .line 732
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 4 /* d */
        start local 4 // java.util.concurrent.CompletableFuture d
         5: .line 733
            aload 0 /* this */
            new java.util.concurrent.CompletableFuture$UniAccept
            dup
            aload 1 /* e */
            aload 4 /* 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
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
         6: .line 734
            aload 4 /* d */
            areturn
        end local 4 // java.util.concurrent.CompletableFuture d
        end local 3 // java.lang.Object r
        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     r  Ljava/lang/Object;
            5    7     4     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    Signature: (Ljava/util/concurrent/Executor;Ljava/util/function/Consumer<-TT;>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      e     
      f     

  private java.util.concurrent.CompletableFuture<java.lang.Void> uniAcceptNow(, java.util.concurrent.Executor, java.util.function.Consumer<? super T>);
    descriptor: (Ljava/lang/Object;Ljava/util/concurrent/Executor;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.lang.Object r
        start local 2 // java.util.concurrent.Executor e
        start local 3 // java.util.function.Consumer f
         0: .line 740
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 5 /* d */
        start local 5 // java.util.concurrent.CompletableFuture d
         1: .line 741
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 7
         2: .line 742
            aload 1 /* 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
         3: ifnull 6
         4: .line 743
            aload 5 /* d */
            aload 4 /* x */
            aload 1 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/Object;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
         5: .line 744
            aload 5 /* d */
            areturn
         6: .line 746
      StackMap locals: java.lang.Throwable java.util.concurrent.CompletableFuture
      StackMap stack:
            aconst_null
            astore 1 /* r */
        end local 4 // java.lang.Throwable x
         7: .line 749
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object java.util.concurrent.Executor java.util.function.Consumer top java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 2 /* e */
            ifnull 10
         8: .line 750
            aload 2 /* e */
            new java.util.concurrent.CompletableFuture$UniAccept
            dup
            aconst_null
            aload 5 /* d */
            aload 0 /* this */
            aload 3 /* 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
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         9: .line 751
            goto 16
        10: .line 752
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            astore 6 /* t */
        start local 6 // java.lang.Object t
        11: .line 753
            aload 3 /* f */
            aload 6 /* t */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        12: .line 754
            aload 5 /* d */
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 6 // java.lang.Object t
        13: .line 756
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        15: .line 757
            aload 5 /* d */
            aload 6 /* ex */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 6 // java.lang.Throwable ex
        16: .line 759
      StackMap locals:
      StackMap stack:
            aload 5 /* d */
            areturn
        end local 5 // java.util.concurrent.CompletableFuture d
        end local 3 // java.util.function.Consumer f
        end local 2 // java.util.concurrent.Executor e
        end local 1 // java.lang.Object r
        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     r  Ljava/lang/Object;
            0   17     2     e  Ljava/util/concurrent/Executor;
            0   17     3     f  Ljava/util/function/Consumer<-TT;>;
            3    7     4     x  Ljava/lang/Throwable;
            1   17     5     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
           11   13     6     t  TT;
           15   16     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7    13      14  Class java.lang.Throwable
    Signature: (Ljava/lang/Object;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer<-TT;>;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      r     
      e     
      f     

  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=7, 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 796
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 798
      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
         2: ifnull 4
         3: .line 799
            aload 0 /* this */
            aload 3 /* r */
            aload 1 /* e */
            aload 2 /* f */
            invokevirtual java.util.concurrent.CompletableFuture.uniRunNow:(Ljava/lang/Object;Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
         4: .line 800
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 4 /* d */
        start local 4 // java.util.concurrent.CompletableFuture d
         5: .line 801
            aload 0 /* this */
            new java.util.concurrent.CompletableFuture$UniRun
            dup
            aload 1 /* e */
            aload 4 /* 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
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
         6: .line 802
            aload 4 /* d */
            areturn
        end local 4 // java.util.concurrent.CompletableFuture d
        end local 3 // java.lang.Object r
        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     r  Ljava/lang/Object;
            5    7     4     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.util.concurrent.CompletableFuture<java.lang.Void> uniRunNow(, java.util.concurrent.Executor, java.lang.Runnable);
    descriptor: (Ljava/lang/Object;Ljava/util/concurrent/Executor;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.lang.Object r
        start local 2 // java.util.concurrent.Executor e
        start local 3 // java.lang.Runnable f
         0: .line 807
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 5 /* d */
        start local 5 // java.util.concurrent.CompletableFuture d
         1: .line 808
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 4
            aload 1 /* 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
         2: ifnull 4
         3: .line 809
            aload 5 /* d */
            aload 4 /* x */
            aload 1 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/Object;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            goto 12
        end local 4 // java.lang.Throwable x
         4: .line 812
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object java.util.concurrent.Executor java.lang.Runnable top java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 2 /* e */
            ifnull 7
         5: .line 813
            aload 2 /* e */
            new java.util.concurrent.CompletableFuture$UniRun
            dup
            aconst_null
            aload 5 /* d */
            aload 0 /* this */
            aload 3 /* f */
            invokespecial java.util.concurrent.CompletableFuture$UniRun.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Runnable;)V
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         6: .line 814
            goto 12
         7: .line 815
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            invokeinterface java.lang.Runnable.run:()V
         8: .line 816
            aload 5 /* d */
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
         9: .line 818
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        11: .line 819
            aload 5 /* d */
            aload 6 /* ex */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 6 // java.lang.Throwable ex
        12: .line 821
      StackMap locals:
      StackMap stack:
            aload 5 /* d */
            areturn
        end local 5 // java.util.concurrent.CompletableFuture d
        end local 3 // java.lang.Runnable f
        end local 2 // java.util.concurrent.Executor e
        end local 1 // java.lang.Object r
        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     r  Ljava/lang/Object;
            0   13     2     e  Ljava/util/concurrent/Executor;
            0   13     3     f  Ljava/lang/Runnable;
            2    4     4     x  Ljava/lang/Throwable;
            1   13     5     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
           11   12     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     9      10  Class java.lang.Throwable
    Signature: (Ljava/lang/Object;Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      r     
      e     
      f     

  final boolean uniWhenComplete(, java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>, java.util.concurrent.CompletableFuture$UniWhenComplete<T>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$UniWhenComplete;)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.lang.Object r
        start local 2 // java.util.function.BiConsumer f
        start local 3 // java.util.concurrent.CompletableFuture$UniWhenComplete c
         0: .line 847
            aconst_null
            astore 5 /* x */
        start local 5 // java.lang.Throwable x
         1: .line 848
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 20
         2: .line 850
            aload 3 /* c */
            ifnull 4
            aload 3 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$UniWhenComplete.claim:()Z
            ifne 4
         3: .line 851
            iconst_0
            ireturn
         4: .line 852
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object java.util.function.BiConsumer java.util.concurrent.CompletableFuture$UniWhenComplete top java.lang.Throwable
      StackMap stack:
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 8
         5: .line 853
            aload 1 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            astore 5 /* x */
         6: .line 854
            aconst_null
            astore 4 /* t */
        start local 4 // java.lang.Object t
         7: .line 855
            goto 10
        end local 4 // java.lang.Object t
         8: .line 856
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            astore 6 /* tr */
        start local 6 // java.lang.Object tr
         9: .line 857
            aload 6 /* tr */
            astore 4 /* t */
        end local 6 // java.lang.Object tr
        start local 4 // java.lang.Object t
        10: .line 859
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object java.util.function.BiConsumer java.util.concurrent.CompletableFuture$UniWhenComplete java.lang.Object java.lang.Throwable
      StackMap stack:
            aload 2 /* f */
            aload 4 /* t */
            aload 5 /* x */
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 860
            aload 5 /* x */
            ifnonnull 19
        12: .line 861
            aload 0 /* this */
            aload 1 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.internalComplete:(Ljava/lang/Object;)Z
            pop
        13: .line 862
            iconst_1
            ireturn
        end local 4 // java.lang.Object t
        14: .line 864
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object java.util.function.BiConsumer java.util.concurrent.CompletableFuture$UniWhenComplete top java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        15: .line 865
            aload 5 /* x */
            ifnonnull 17
        16: .line 866
            aload 6 /* ex */
            astore 5 /* x */
            goto 19
        17: .line 867
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5 /* x */
            aload 6 /* ex */
            if_acmpeq 19
        18: .line 868
            aload 5 /* x */
            aload 6 /* ex */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 6 // java.lang.Throwable ex
        19: .line 870
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* x */
            aload 1 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
        20: .line 872
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // java.lang.Throwable x
        end local 3 // java.util.concurrent.CompletableFuture$UniWhenComplete c
        end local 2 // java.util.function.BiConsumer f
        end local 1 // java.lang.Object r
        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     r  Ljava/lang/Object;
            0   21     2     f  Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
            0   21     3     c  Ljava/util/concurrent/CompletableFuture$UniWhenComplete<TT;>;
            7    8     4     t  TT;
           10   14     4     t  TT;
            1   21     5     x  Ljava/lang/Throwable;
            9   10     6    tr  TT;
           15   19     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3      14  Class java.lang.Throwable
           4    13      14  Class java.lang.Throwable
    Signature: (Ljava/lang/Object;Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;Ljava/util/concurrent/CompletableFuture$UniWhenComplete<TT;>;)Z
    MethodParameters:
      Name  Flags
      r     
      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=7, locals=6, 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 877
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 878
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
         2: .line 880
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         3: ifnonnull 5
         4: .line 881
            aload 0 /* this */
            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
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
            goto 11
         5: .line 882
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack:
            aload 1 /* e */
            ifnonnull 7
         6: .line 883
            aload 3 /* d */
            aload 4 /* r */
            aload 2 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.uniWhenComplete:(Ljava/lang/Object;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$UniWhenComplete;)Z
            pop
            goto 11
         7: .line 886
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            new java.util.concurrent.CompletableFuture$UniWhenComplete
            dup
            aconst_null
            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
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         8: .line 887
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
        10: .line 888
            aload 3 /* d */
            aload 5 /* ex */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 5 // java.lang.Throwable ex
        11: .line 891
      StackMap locals:
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 4 // java.lang.Object r
        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   12     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   12     1     e  Ljava/util/concurrent/Executor;
            0   12     2     f  Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
            2   12     3     d  Ljava/util/concurrent/CompletableFuture<TT;>;
            3   12     4     r  Ljava/lang/Object;
           10   11     5    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.Throwable
    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.function.BiFunction<? super S, java.lang.Throwable, ? extends T>, java.util.concurrent.CompletableFuture$UniHandle<S, T>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$UniHandle;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object r
        start local 2 // java.util.function.BiFunction f
        start local 3 // java.util.concurrent.CompletableFuture$UniHandle c
         0: .line 918
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 14
         1: .line 920
            aload 3 /* c */
            ifnull 3
            aload 3 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$UniHandle.claim:()Z
            ifne 3
         2: .line 921
            iconst_0
            ireturn
         3: .line 922
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 7
         4: .line 923
            aload 1 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            astore 5 /* x */
        start local 5 // java.lang.Throwable x
         5: .line 924
            aconst_null
            astore 4 /* s */
        start local 4 // java.lang.Object s
         6: .line 925
            goto 10
        end local 5 // java.lang.Throwable x
        end local 4 // java.lang.Object s
         7: .line 926
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* x */
        start local 5 // java.lang.Throwable x
         8: .line 927
            aload 1 /* r */
            astore 6 /* ss */
        start local 6 // java.lang.Object ss
         9: .line 928
            aload 6 /* ss */
            astore 4 /* s */
        end local 6 // java.lang.Object ss
        start local 4 // java.lang.Object s
        10: .line 930
      StackMap locals: java.lang.Object java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 2 /* f */
            aload 4 /* s */
            aload 5 /* 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
        11: .line 931
            goto 14
        end local 5 // java.lang.Throwable x
        end local 4 // java.lang.Object s
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object java.util.function.BiFunction java.util.concurrent.CompletableFuture$UniHandle
      StackMap stack: java.lang.Throwable
        12: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        13: .line 932
            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 935
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.util.concurrent.CompletableFuture$UniHandle c
        end local 2 // java.util.function.BiFunction f
        end local 1 // java.lang.Object r
        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     r  Ljava/lang/Object;
            0   15     2     f  Ljava/util/function/BiFunction<-TS;Ljava/lang/Throwable;+TT;>;
            0   15     3     c  Ljava/util/concurrent/CompletableFuture$UniHandle<TS;TT;>;
            6    7     4     s  TS;
           10   12     4     s  TS;
            5    7     5     x  Ljava/lang/Throwable;
            8   12     5     x  Ljava/lang/Throwable;
            9   10     6    ss  TS;
           13   14     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2      12  Class java.lang.Throwable
           3    11      12  Class java.lang.Throwable
    Signature: <S:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/util/function/BiFunction<-TS;Ljava/lang/Throwable;+TT;>;Ljava/util/concurrent/CompletableFuture$UniHandle<TS;TT;>;)Z
    MethodParameters:
      Name  Flags
      r     
      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=7, locals=6, 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 940
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
         2: .line 943
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         3: ifnonnull 5
         4: .line 944
            aload 0 /* this */
            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
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
            goto 11
         5: .line 945
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack:
            aload 1 /* e */
            ifnonnull 7
         6: .line 946
            aload 3 /* d */
            aload 4 /* r */
            aload 2 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.uniHandle:(Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$UniHandle;)Z
            pop
            goto 11
         7: .line 949
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            new java.util.concurrent.CompletableFuture$UniHandle
            dup
            aconst_null
            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
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         8: .line 950
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
        10: .line 951
            aload 3 /* d */
            aload 5 /* ex */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 5 // java.lang.Throwable ex
        11: .line 954
      StackMap locals:
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 4 // java.lang.Object r
        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   12     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   12     1     e  Ljava/util/concurrent/Executor;
            0   12     2     f  Ljava/util/function/BiFunction<-TT;Ljava/lang/Throwable;+TV;>;
            2   12     3     d  Ljava/util/concurrent/CompletableFuture<TV;>;
            3   12     4     r  Ljava/lang/Object;
           10   11     5    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.Throwable
    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.function.Function<? super java.lang.Throwable, ? extends T>, java.util.concurrent.CompletableFuture$UniExceptionally<T>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniExceptionally;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object r
        start local 2 // java.util.function.Function f
        start local 3 // java.util.concurrent.CompletableFuture$UniExceptionally c
         0: .line 981
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 11
         1: .line 983
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 7
            aload 1 /* 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
         2: ifnull 7
         3: .line 984
            aload 3 /* c */
            ifnull 5
            aload 3 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$UniExceptionally.claim:()Z
            ifne 5
         4: .line 985
            iconst_0
            ireturn
         5: .line 986
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 2 /* f */
            aload 4 /* x */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.util.concurrent.CompletableFuture.completeValue:(Ljava/lang/Object;)Z
            pop
         6: .line 987
            goto 11
        end local 4 // java.lang.Throwable x
         7: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.internalComplete:(Ljava/lang/Object;)Z
            pop
         8: .line 989
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
        10: .line 990
            aload 0 /* this */
            aload 5 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 5 // java.lang.Throwable ex
        11: .line 993
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.util.concurrent.CompletableFuture$UniExceptionally c
        end local 2 // java.util.function.Function f
        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;>;
            0   12     1     r  Ljava/lang/Object;
            0   12     2     f  Ljava/util/function/Function<-Ljava/lang/Throwable;+TT;>;
            0   12     3     c  Ljava/util/concurrent/CompletableFuture$UniExceptionally<TT;>;
            2    7     4     x  Ljava/lang/Throwable;
           10   11     5    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     4       9  Class java.lang.Throwable
           5     8       9  Class java.lang.Throwable
    Signature: (Ljava/lang/Object;Ljava/util/function/Function<-Ljava/lang/Throwable;+TT;>;Ljava/util/concurrent/CompletableFuture$UniExceptionally<TT;>;)Z
    MethodParameters:
      Name  Flags
      r     
      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=6, locals=4, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Function f
         0: .line 998
            aload 1 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 999
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 2 /* d */
        start local 2 // java.util.concurrent.CompletableFuture d
         2: .line 1001
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 3 /* r */
        start local 3 // java.lang.Object r
         3: ifnonnull 5
         4: .line 1002
            aload 0 /* this */
            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
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
            goto 6
         5: .line 1004
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack:
            aload 2 /* d */
            aload 3 /* r */
            aload 1 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.uniExceptionally:(Ljava/lang/Object;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniExceptionally;)Z
            pop
         6: .line 1005
      StackMap locals:
      StackMap stack:
            aload 2 /* d */
            areturn
        end local 3 // java.lang.Object r
        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;>;
            3    7     3     r  Ljava/lang/Object;
    Signature: (Ljava/util/function/Function<Ljava/lang/Throwable;+TT;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
      Name  Flags
      f     

  private static <U, T extends U> java.util.concurrent.CompletableFuture<U> uniCopyStage(java.util.concurrent.CompletableFuture<T>);
    descriptor: (Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture src
         0: .line 1028
            aload 0 /* src */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 2 /* d */
        start local 2 // java.util.concurrent.CompletableFuture d
         1: .line 1029
            aload 0 /* src */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 1 /* r */
        start local 1 // java.lang.Object r
         2: ifnull 4
         3: .line 1030
            aload 2 /* d */
            aload 1 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeRelay:(Ljava/lang/Object;)Ljava/lang/Object;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            goto 5
         4: .line 1032
      StackMap locals: java.lang.Object java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 0 /* src */
            new java.util.concurrent.CompletableFuture$UniRelay
            dup
            aload 2 /* d */
            aload 0 /* src */
            invokespecial java.util.concurrent.CompletableFuture$UniRelay.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
         5: .line 1033
      StackMap locals:
      StackMap stack:
            aload 2 /* d */
            areturn
        end local 2 // java.util.concurrent.CompletableFuture d
        end local 1 // java.lang.Object r
        end local 0 // java.util.concurrent.CompletableFuture src
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   src  Ljava/util/concurrent/CompletableFuture<TT;>;
            2    6     1     r  Ljava/lang/Object;
            1    6     2     d  Ljava/util/concurrent/CompletableFuture<TU;>;
    Signature: <U:Ljava/lang/Object;T:TU;>(Ljava/util/concurrent/CompletableFuture<TT;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
      Name  Flags
      src   

  private java.util.concurrent.CompletableFuture$MinimalStage<T> uniAsMinimalStage();
    descriptor: ()Ljava/util/concurrent/CompletableFuture$MinimalStage;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 1038
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 1 /* r */
        start local 1 // java.lang.Object r
         1: ifnull 3
         2: .line 1039
            new java.util.concurrent.CompletableFuture$MinimalStage
            dup
            aload 1 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeRelay:(Ljava/lang/Object;)Ljava/lang/Object;
            invokespecial java.util.concurrent.CompletableFuture$MinimalStage.<init>:(Ljava/lang/Object;)V
            areturn
         3: .line 1040
      StackMap locals: java.lang.Object
      StackMap stack:
            new java.util.concurrent.CompletableFuture$MinimalStage
            dup
            invokespecial java.util.concurrent.CompletableFuture$MinimalStage.<init>:()V
            astore 2 /* d */
        start local 2 // java.util.concurrent.CompletableFuture$MinimalStage d
         4: .line 1041
            aload 0 /* this */
            new java.util.concurrent.CompletableFuture$UniRelay
            dup
            aload 2 /* d */
            aload 0 /* this */
            invokespecial java.util.concurrent.CompletableFuture$UniRelay.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
         5: .line 1042
            aload 2 /* d */
            areturn
        end local 2 // java.util.concurrent.CompletableFuture$MinimalStage d
        end local 1 // java.lang.Object r
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            1    6     1     r  Ljava/lang/Object;
            4    6     2     d  Ljava/util/concurrent/CompletableFuture$MinimalStage<TT;>;
    Signature: ()Ljava/util/concurrent/CompletableFuture$MinimalStage<TT;>;

  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=7, locals=9, 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 1091
            aload 2 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 1092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
         2: .line 1094
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         3: ifnonnull 5
         4: .line 1095
            aload 0 /* this */
            new java.util.concurrent.CompletableFuture$UniCompose
            dup
            aload 1 /* e */
            aload 3 /* 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
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
            goto 26
         5: .line 1096
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack:
            aload 1 /* e */
            ifnonnull 22
         6: .line 1097
            aload 4 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 12
         7: .line 1098
            aload 4 /* 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
         8: ifnull 11
         9: .line 1099
            aload 3 /* d */
            aload 6 /* x */
            aload 4 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/Object;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        10: .line 1100
            aload 3 /* d */
            areturn
        11: .line 1102
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.function.Function java.util.concurrent.CompletableFuture java.lang.Object top java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 4 /* r */
        end local 6 // java.lang.Throwable x
        12: .line 1105
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.function.Function java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack:
            aload 4 /* r */
            astore 7 /* t */
        start local 7 // java.lang.Object t
        13: .line 1106
            aload 2 /* f */
            aload 7 /* 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 8 /* g */
        start local 8 // java.util.concurrent.CompletableFuture g
        14: .line 1107
            aload 8 /* g */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* s */
        start local 5 // java.lang.Object s
        15: ifnull 17
        16: .line 1108
            aload 3 /* d */
            aload 5 /* s */
            invokestatic java.util.concurrent.CompletableFuture.encodeRelay:(Ljava/lang/Object;)Ljava/lang/Object;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            goto 26
        17: .line 1110
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.function.Function java.util.concurrent.CompletableFuture java.lang.Object java.lang.Object top java.lang.Object java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 8 /* g */
            new java.util.concurrent.CompletableFuture$UniRelay
            dup
            aload 3 /* d */
            aload 8 /* g */
            invokespecial java.util.concurrent.CompletableFuture$UniRelay.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
        end local 8 // java.util.concurrent.CompletableFuture g
        end local 7 // java.lang.Object t
        18: .line 1112
            goto 26
        end local 5 // java.lang.Object s
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.function.Function java.util.concurrent.CompletableFuture java.lang.Object
      StackMap stack: java.lang.Throwable
        19: astore 7 /* ex */
        start local 7 // java.lang.Throwable ex
        20: .line 1113
            aload 3 /* d */
            aload 7 /* ex */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 7 // java.lang.Throwable ex
        21: .line 1115
            goto 26
        22: .line 1118
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            new java.util.concurrent.CompletableFuture$UniCompose
            dup
            aconst_null
            aload 3 /* 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
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        23: .line 1119
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 7 /* ex */
        start local 7 // java.lang.Throwable ex
        25: .line 1120
            aload 3 /* d */
            aload 7 /* ex */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 7 // java.lang.Throwable ex
        26: .line 1122
      StackMap locals:
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 4 // java.lang.Object r
        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   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   27     3     d  Ljava/util/concurrent/CompletableFuture<TV;>;
            3   27     4     r  Ljava/lang/Object;
           15   19     5     s  Ljava/lang/Object;
            8   12     6     x  Ljava/lang/Throwable;
           13   18     7     t  TT;
           14   18     8     g  Ljava/util/concurrent/CompletableFuture<TV;>;
           20   21     7    ex  Ljava/lang/Throwable;
           25   26     7    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          12    18      19  Class java.lang.Throwable
          22    23      24  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=4, locals=3, 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 1162
            aload 2 /* c */
            ifnull 10
         1: .line 1163
            goto 8
         2: .line 1164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 8
         3: .line 1165
            aload 1 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 5
         4: .line 1166
            aload 1 /* b */
            new java.util.concurrent.CompletableFuture$CoCompletion
            dup
            aload 2 /* c */
            invokespecial java.util.concurrent.CompletableFuture$CoCompletion.<init>:(Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
            goto 7
         5: .line 1167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 7
         6: .line 1168
            aload 2 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$BiCompletion.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
         7: .line 1169
      StackMap locals:
      StackMap stack:
            return
         8: .line 1163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 2
         9: .line 1172
            aload 1 /* b */
            aload 2 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
        10: .line 1174
      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   11     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   11     1     b  Ljava/util/concurrent/CompletableFuture<*>;
            0   11     2     c  Ljava/util/concurrent/CompletableFuture$BiCompletion<***>;
    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=5, 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 1179
            aload 2 /* b */
            ifnull 6
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            ifnull 6
         1: .line 1181
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
         2: ifnonnull 4
         3: .line 1182
            aload 2 /* b */
            invokevirtual java.util.concurrent.CompletableFuture.cleanStack:()V
         4: .line 1183
      StackMap locals: java.lang.Object
      StackMap stack:
            iload 3 /* mode */
            iflt 6
            aload 4 /* r */
            ifnonnull 5
            aload 2 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 6
         5: .line 1184
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
        end local 4 // java.lang.Object r
         6: .line 1186
      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    7     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    7     1     a  Ljava/util/concurrent/CompletableFuture<*>;
            0    7     2     b  Ljava/util/concurrent/CompletableFuture<*>;
            0    7     3  mode  I
            2    6     4     r  Ljava/lang/Object;
    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.function.BiFunction<? super R, ? super S, ? extends T>, java.util.concurrent.CompletableFuture$BiApply<R, S, T>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$BiApply;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object r
        start local 2 // java.lang.Object s
        start local 3 // java.util.function.BiFunction f
        start local 4 // java.util.concurrent.CompletableFuture$BiApply c
         0: .line 1216
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 21
         1: .line 1217
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 7
         2: .line 1218
            aload 1 /* 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
         3: ifnull 6
         4: .line 1219
            aload 0 /* this */
            aload 5 /* x */
            aload 1 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
         5: .line 1220
            goto 21
         6: .line 1222
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 1 /* r */
        end local 5 // java.lang.Throwable x
         7: .line 1224
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 13
         8: .line 1225
            aload 2 /* 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
         9: ifnull 12
        10: .line 1226
            aload 0 /* this */
            aload 5 /* x */
            aload 2 /* s */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
        11: .line 1227
            goto 21
        12: .line 1229
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 2 /* s */
        end local 5 // java.lang.Throwable x
        13: .line 1232
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            ifnull 15
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$BiApply.claim:()Z
            ifne 15
        14: .line 1233
            iconst_0
            ireturn
        15: .line 1234
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            astore 6 /* rr */
        start local 6 // java.lang.Object rr
        16: .line 1235
            aload 2 /* s */
            astore 7 /* ss */
        start local 7 // java.lang.Object ss
        17: .line 1236
            aload 0 /* this */
            aload 3 /* f */
            aload 6 /* rr */
            aload 7 /* 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 7 // java.lang.Object ss
        end local 6 // java.lang.Object rr
        18: .line 1237
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        20: .line 1238
            aload 0 /* this */
            aload 6 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;)Z
            pop
        end local 6 // java.lang.Throwable ex
        21: .line 1241
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.util.concurrent.CompletableFuture$BiApply c
        end local 3 // java.util.function.BiFunction f
        end local 2 // java.lang.Object s
        end local 1 // java.lang.Object r
        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     r  Ljava/lang/Object;
            0   22     2     s  Ljava/lang/Object;
            0   22     3     f  Ljava/util/function/BiFunction<-TR;-TS;+TT;>;
            0   22     4     c  Ljava/util/concurrent/CompletableFuture$BiApply<TR;TS;TT;>;
            3    7     5     x  Ljava/lang/Throwable;
            9   13     5     x  Ljava/lang/Throwable;
           16   18     6    rr  TR;
           17   18     7    ss  TS;
           20   21     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          13    14      19  Class java.lang.Throwable
          15    18      19  Class java.lang.Throwable
    Signature: <R:Ljava/lang/Object;S:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction<-TR;-TS;+TT;>;Ljava/util/concurrent/CompletableFuture$BiApply<TR;TS;TT;>;)Z
    MethodParameters:
      Name  Flags
      r     
      s     
      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=9, locals=9, 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 1248
            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 1249
      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 1250
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 7 /* d */
        start local 7 // java.util.concurrent.CompletableFuture d
         4: .line 1251
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         5: ifnull 7
            aload 4 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 6 /* s */
        start local 6 // java.lang.Object s
         6: ifnonnull 8
        end local 6 // java.lang.Object s
         7: .line 1252
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.concurrent.CompletionStage java.util.function.BiFunction java.util.concurrent.CompletableFuture java.lang.Object top java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 0 /* this */
            aload 4 /* b */
            new java.util.concurrent.CompletableFuture$BiApply
            dup
            aload 1 /* e */
            aload 7 /* 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
            invokevirtual java.util.concurrent.CompletableFuture.bipush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
            goto 14
        start local 6 // java.lang.Object s
         8: .line 1253
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.concurrent.CompletionStage java.util.function.BiFunction java.util.concurrent.CompletableFuture java.lang.Object java.lang.Object java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 1 /* e */
            ifnonnull 10
         9: .line 1254
            aload 7 /* d */
            aload 5 /* r */
            aload 6 /* s */
            aload 3 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.biApply:(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$BiApply;)Z
            pop
            goto 14
        10: .line 1257
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            new java.util.concurrent.CompletableFuture$BiApply
            dup
            aconst_null
            aload 7 /* 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
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        11: .line 1258
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 8 /* ex */
        start local 8 // java.lang.Throwable ex
        13: .line 1259
            aload 7 /* d */
            aload 8 /* ex */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 8 // java.lang.Throwable ex
        end local 6 // java.lang.Object s
        14: .line 1261
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.concurrent.CompletionStage java.util.function.BiFunction java.util.concurrent.CompletableFuture java.lang.Object top java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 7 /* d */
            areturn
        end local 7 // java.util.concurrent.CompletableFuture d
        end local 5 // java.lang.Object r
        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   15     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   15     1     e  Ljava/util/concurrent/Executor;
            0   15     2     o  Ljava/util/concurrent/CompletionStage<TU;>;
            0   15     3     f  Ljava/util/function/BiFunction<-TT;-TU;+TV;>;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            3   15     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            5   15     5     r  Ljava/lang/Object;
            6    7     6     s  Ljava/lang/Object;
            8   14     6     s  Ljava/lang/Object;
            4   15     7     d  Ljava/util/concurrent/CompletableFuture<TV;>;
           13   14     8    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.Throwable
    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.function.BiConsumer<? super R, ? super S>, java.util.concurrent.CompletableFuture$BiAccept<R, S>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$BiAccept;)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.lang.Object r
        start local 2 // java.lang.Object s
        start local 3 // java.util.function.BiConsumer f
        start local 4 // java.util.concurrent.CompletableFuture$BiAccept c
         0: .line 1291
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 22
         1: .line 1292
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 7
         2: .line 1293
            aload 1 /* 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
         3: ifnull 6
         4: .line 1294
            aload 0 /* this */
            aload 5 /* x */
            aload 1 /* r */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
         5: .line 1295
            goto 22
         6: .line 1297
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 1 /* r */
        end local 5 // java.lang.Throwable x
         7: .line 1299
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 13
         8: .line 1300
            aload 2 /* 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
         9: ifnull 12
        10: .line 1301
            aload 0 /* this */
            aload 5 /* x */
            aload 2 /* s */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
        11: .line 1302
            goto 22
        12: .line 1304
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            astore 2 /* s */
        end local 5 // java.lang.Throwable x
        13: .line 1307
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            ifnull 15
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$BiAccept.claim:()Z
            ifne 15
        14: .line 1308
            iconst_0
            ireturn
        15: .line 1309
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            astore 6 /* rr */
        start local 6 // java.lang.Object rr
        16: .line 1310
            aload 2 /* s */
            astore 7 /* ss */
        start local 7 // java.lang.Object ss
        17: .line 1311
            aload 3 /* f */
            aload 6 /* rr */
            aload 7 /* ss */
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 1312
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.completeNull:()Z
            pop
        end local 7 // java.lang.Object ss
        end local 6 // java.lang.Object rr
        19: .line 1313
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        21: .line 1314
            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 1317
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.util.concurrent.CompletableFuture$BiAccept c
        end local 3 // java.util.function.BiConsumer f
        end local 2 // java.lang.Object s
        end local 1 // java.lang.Object r
        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     r  Ljava/lang/Object;
            0   23     2     s  Ljava/lang/Object;
            0   23     3     f  Ljava/util/function/BiConsumer<-TR;-TS;>;
            0   23     4     c  Ljava/util/concurrent/CompletableFuture$BiAccept<TR;TS;>;
            3    7     5     x  Ljava/lang/Throwable;
            9   13     5     x  Ljava/lang/Throwable;
           16   19     6    rr  TR;
           17   19     7    ss  TS;
           21   22     6    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          13    14      20  Class java.lang.Throwable
          15    19      20  Class java.lang.Throwable
    Signature: <R:Ljava/lang/Object;S:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiConsumer<-TR;-TS;>;Ljava/util/concurrent/CompletableFuture$BiAccept<TR;TS;>;)Z
    MethodParameters:
      Name  Flags
      r     
      s     
      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=9, locals=9, 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 1324
            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 1325
      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 1326
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 7 /* d */
        start local 7 // java.util.concurrent.CompletableFuture d
         4: .line 1327
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         5: ifnull 7
            aload 4 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 6 /* s */
        start local 6 // java.lang.Object s
         6: ifnonnull 8
        end local 6 // java.lang.Object s
         7: .line 1328
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.concurrent.CompletionStage java.util.function.BiConsumer java.util.concurrent.CompletableFuture java.lang.Object top java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 0 /* this */
            aload 4 /* b */
            new java.util.concurrent.CompletableFuture$BiAccept
            dup
            aload 1 /* e */
            aload 7 /* 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
            invokevirtual java.util.concurrent.CompletableFuture.bipush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
            goto 14
        start local 6 // java.lang.Object s
         8: .line 1329
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.concurrent.CompletionStage java.util.function.BiConsumer java.util.concurrent.CompletableFuture java.lang.Object java.lang.Object java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 1 /* e */
            ifnonnull 10
         9: .line 1330
            aload 7 /* d */
            aload 5 /* r */
            aload 6 /* s */
            aload 3 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.biAccept:(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$BiAccept;)Z
            pop
            goto 14
        10: .line 1333
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            new java.util.concurrent.CompletableFuture$BiAccept
            dup
            aconst_null
            aload 7 /* 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
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        11: .line 1334
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 8 /* ex */
        start local 8 // java.lang.Throwable ex
        13: .line 1335
            aload 7 /* d */
            aload 8 /* ex */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 8 // java.lang.Throwable ex
        end local 6 // java.lang.Object s
        14: .line 1337
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.concurrent.CompletionStage java.util.function.BiConsumer java.util.concurrent.CompletableFuture java.lang.Object top java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 7 /* d */
            areturn
        end local 7 // java.util.concurrent.CompletableFuture d
        end local 5 // java.lang.Object r
        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   15     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   15     1     e  Ljava/util/concurrent/Executor;
            0   15     2     o  Ljava/util/concurrent/CompletionStage<TU;>;
            0   15     3     f  Ljava/util/function/BiConsumer<-TT;-TU;>;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            3   15     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            5   15     5     r  Ljava/lang/Object;
            6    7     6     s  Ljava/lang/Object;
            8   14     6     s  Ljava/lang/Object;
            4   15     7     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
           13   14     8    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.Throwable
    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.lang.Runnable, java.util.concurrent.CompletableFuture$BiRun<?, ?>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$BiRun;)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.lang.Object r
        start local 2 // java.lang.Object s
        start local 3 // java.lang.Runnable f
        start local 4 // java.util.concurrent.CompletableFuture$BiRun c
         0: .line 1365
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 17
         1: .line 1366
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 5
         2: .line 1367
            aload 1 /* r */
            dup
            astore 6 /* z */
        start local 6 // java.lang.Object z
         3: 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
         4: ifnonnull 9
        end local 6 // java.lang.Object z
        end local 5 // java.lang.Throwable x
         5: .line 1368
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 10
         6: .line 1369
            aload 2 /* s */
            dup
            astore 6 /* z */
        start local 6 // java.lang.Object z
         7: 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
         8: ifnull 10
         9: .line 1370
      StackMap locals: java.lang.Throwable java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 5 /* x */
            aload 6 /* z */
            invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
            pop
            goto 17
        end local 6 // java.lang.Object z
        end local 5 // java.lang.Throwable x
        10: .line 1373
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            ifnull 12
            aload 4 /* c */
            invokevirtual java.util.concurrent.CompletableFuture$BiRun.claim:()Z
            ifne 12
        11: .line 1374
            iconst_0
            ireturn
        12: .line 1375
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            invokeinterface java.lang.Runnable.run:()V
        13: .line 1376
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.completeNull:()Z
            pop
        14: .line 1377
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 7 /* ex */
        start local 7 // java.lang.Throwable ex
        16: .line 1378
            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 1381
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.util.concurrent.CompletableFuture$BiRun c
        end local 3 // java.lang.Runnable f
        end local 2 // java.lang.Object s
        end local 1 // java.lang.Object r
        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     r  Ljava/lang/Object;
            0   18     2     s  Ljava/lang/Object;
            0   18     3     f  Ljava/lang/Runnable;
            0   18     4     c  Ljava/util/concurrent/CompletableFuture$BiRun<**>;
            4    5     5     x  Ljava/lang/Throwable;
            8   10     5     x  Ljava/lang/Throwable;
            3    5     6     z  Ljava/lang/Object;
            7   10     6     z  Ljava/lang/Object;
           16   17     7    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: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$BiRun<**>;)Z
    MethodParameters:
      Name  Flags
      r     
      s     
      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=9, locals=9, 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 1387
            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 1388
      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 1389
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 7 /* d */
        start local 7 // java.util.concurrent.CompletableFuture d
         4: .line 1390
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         5: ifnull 7
            aload 4 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 6 /* s */
        start local 6 // java.lang.Object s
         6: ifnonnull 8
        end local 6 // java.lang.Object s
         7: .line 1391
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.concurrent.CompletionStage java.lang.Runnable java.util.concurrent.CompletableFuture java.lang.Object top java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 0 /* this */
            aload 4 /* b */
            new java.util.concurrent.CompletableFuture$BiRun
            dup
            aload 1 /* e */
            aload 7 /* 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
            invokevirtual java.util.concurrent.CompletableFuture.bipush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
            goto 14
        start local 6 // java.lang.Object s
         8: .line 1392
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.concurrent.CompletionStage java.lang.Runnable java.util.concurrent.CompletableFuture java.lang.Object java.lang.Object java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 1 /* e */
            ifnonnull 10
         9: .line 1393
            aload 7 /* d */
            aload 5 /* r */
            aload 6 /* s */
            aload 3 /* f */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.biRun:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Runnable;Ljava/util/concurrent/CompletableFuture$BiRun;)Z
            pop
            goto 14
        10: .line 1396
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            new java.util.concurrent.CompletableFuture$BiRun
            dup
            aconst_null
            aload 7 /* 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
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        11: .line 1397
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 8 /* ex */
        start local 8 // java.lang.Throwable ex
        13: .line 1398
            aload 7 /* d */
            aload 8 /* ex */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 8 // java.lang.Throwable ex
        end local 6 // java.lang.Object s
        14: .line 1400
      StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.Executor java.util.concurrent.CompletionStage java.lang.Runnable java.util.concurrent.CompletableFuture java.lang.Object top java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 7 /* d */
            areturn
        end local 7 // java.util.concurrent.CompletableFuture d
        end local 5 // java.lang.Object r
        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   15     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   15     1     e  Ljava/util/concurrent/Executor;
            0   15     2     o  Ljava/util/concurrent/CompletionStage<*>;
            0   15     3     f  Ljava/lang/Runnable;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<*>;
            3   15     4     b  Ljava/util/concurrent/CompletableFuture<*>;
            5   15     5     r  Ljava/lang/Object;
            6    7     6     s  Ljava/lang/Object;
            8   14     6     s  Ljava/lang/Object;
            4   15     7     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
           13   14     8    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.Throwable
    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     

  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=7, locals=11, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture[] cfs
        start local 1 // int lo
        start local 2 // int hi
         0: .line 1435
            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 1436
            iload 1 /* lo */
            iload 2 /* hi */
            if_icmple 3
         2: .line 1437
            aload 3 /* d */
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            goto 28
         3: .line 1440
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            iload 1 /* lo */
            iload 2 /* hi */
            iadd
            iconst_1
            iushr
            istore 10 /* mid */
        start local 10 // int mid
         4: .line 1441
            iload 1 /* lo */
            iload 10 /* mid */
            if_icmpne 5
            aload 0 /* cfs */
            iload 1 /* lo */
            aaload
            goto 6
         5: .line 1442
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture top top top top top top int
      StackMap stack:
            aload 0 /* cfs */
            iload 1 /* lo */
            iload 10 /* mid */
            invokestatic java.util.concurrent.CompletableFuture.andTree:([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
         6: .line 1441
      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 1443
            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 top top top top int
      StackMap stack:
         9: iload 2 /* hi */
            iload 10 /* mid */
            iconst_1
            iadd
            if_icmpne 10
            aload 0 /* cfs */
            iload 2 /* hi */
            aaload
            goto 11
        10: .line 1444
      StackMap locals:
      StackMap stack:
            aload 0 /* cfs */
            iload 10 /* mid */
            iconst_1
            iadd
            iload 2 /* hi */
            invokestatic java.util.concurrent.CompletableFuture.andTree:([Ljava/util/concurrent/CompletableFuture;II)Ljava/util/concurrent/CompletableFuture;
        11: .line 1443
      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 1445
      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 1446
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture top top top top int
      StackMap stack:
            aload 4 /* a */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 6 /* r */
        start local 6 // java.lang.Object r
        15: ifnull 17
            aload 5 /* b */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 7 /* s */
        start local 7 // java.lang.Object s
        16: ifnonnull 18
        end local 7 // java.lang.Object s
        17: .line 1447
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.lang.Object top top top int
      StackMap stack:
            aload 4 /* a */
            aload 5 /* b */
            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
            invokevirtual java.util.concurrent.CompletableFuture.bipush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
            goto 28
        start local 7 // java.lang.Object s
        18: .line 1448
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.lang.Object java.lang.Object top top int
      StackMap stack:
            aload 6 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 22
        19: .line 1449
            aload 6 /* r */
            dup
            astore 8 /* z */
        start local 8 // java.lang.Object z
        20: checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 9 /* x */
        start local 9 // java.lang.Throwable x
        21: ifnonnull 26
        end local 9 // java.lang.Throwable x
        end local 8 // java.lang.Object z
        22: .line 1450
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 27
        23: .line 1451
            aload 7 /* s */
            dup
            astore 8 /* z */
        start local 8 // java.lang.Object z
        24: checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            dup
            astore 9 /* x */
        start local 9 // java.lang.Throwable x
        25: ifnull 27
        26: .line 1452
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.lang.Object java.lang.Object java.lang.Object java.lang.Throwable int
      StackMap stack:
            aload 3 /* d */
            aload 9 /* x */
            aload 8 /* z */
            invokestatic java.util.concurrent.CompletableFuture.encodeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/Object;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            goto 28
        end local 9 // java.lang.Throwable x
        end local 8 // java.lang.Object z
        27: .line 1454
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.lang.Object java.lang.Object top top int
      StackMap stack:
            aload 3 /* d */
            getstatic java.util.concurrent.CompletableFuture.NIL:Ljava/util/concurrent/CompletableFuture$AltResult;
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
        end local 10 // int mid
        end local 7 // java.lang.Object s
        end local 6 // java.lang.Object r
        end local 5 // java.util.concurrent.CompletableFuture b
        end local 4 // java.util.concurrent.CompletableFuture a
        28: .line 1456
      StackMap locals: java.util.concurrent.CompletableFuture[] int int java.util.concurrent.CompletableFuture
      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   29     0   cfs  [Ljava/util/concurrent/CompletableFuture;
            0   29     1    lo  I
            0   29     2    hi  I
            1   29     3     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
            7   28     4     a  Ljava/util/concurrent/CompletableFuture<*>;
           12   13     5     b  Ljava/util/concurrent/CompletableFuture<*>;
           14   28     5     b  Ljava/util/concurrent/CompletableFuture<*>;
           15   28     6     r  Ljava/lang/Object;
           16   17     7     s  Ljava/lang/Object;
           18   28     7     s  Ljava/lang/Object;
           20   22     8     z  Ljava/lang/Object;
           24   27     8     z  Ljava/lang/Object;
           21   22     9     x  Ljava/lang/Throwable;
           25   27     9     x  Ljava/lang/Throwable;
            4   28    10   mid  I
    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=4, locals=3, 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 1466
            aload 2 /* c */
            ifnull 9
         1: .line 1467
            goto 5
         2: .line 1468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 5
         3: .line 1469
            getstatic java.util.concurrent.CompletableFuture.NEXT:Ljava/lang/invoke/VarHandle;
            aload 2 /* c */
            aconst_null
            invokevirtual java.lang.invoke.VarHandle.set:(Ljava/util/concurrent/CompletableFuture$BiCompletion;Ljava/lang/Void;)V
         4: .line 1470
            goto 6
         5: .line 1467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* c */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            ifeq 2
         6: .line 1473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 8
         7: .line 1474
            aload 2 /* c */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture$BiCompletion.tryFire:(I)Ljava/util/concurrent/CompletableFuture;
            pop
            goto 9
         8: .line 1476
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            new java.util.concurrent.CompletableFuture$CoCompletion
            dup
            aload 2 /* c */
            invokespecial java.util.concurrent.CompletableFuture$CoCompletion.<init>:(Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
         9: .line 1478
      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   10     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   10     1     b  Ljava/util/concurrent/CompletableFuture<*>;
            0   10     2     c  Ljava/util/concurrent/CompletableFuture$BiCompletion<***>;
    Signature: (Ljava/util/concurrent/CompletableFuture<*>;Ljava/util/concurrent/CompletableFuture$BiCompletion<***>;)V
    MethodParameters:
      Name  Flags
      b     
      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=9, locals=8, 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 1522
            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 1523
      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 1526
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 0 /* this */
            dup
            astore 6 /* z */
        start local 6 // java.util.concurrent.CompletableFuture z
         4: getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         5: ifnonnull 7
         6: .line 1527
            aload 4 /* b */
            dup
            astore 6 /* z */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
            ifnull 8
         7: .line 1528
      StackMap locals: java.lang.Object java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 6 /* z */
            aload 5 /* r */
            aload 1 /* e */
            aload 3 /* f */
            invokevirtual java.util.concurrent.CompletableFuture.uniApplyNow:(Ljava/lang/Object;Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            areturn
         8: .line 1530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 7 /* d */
        start local 7 // java.util.concurrent.CompletableFuture d
         9: .line 1531
            aload 0 /* this */
            aload 4 /* b */
            new java.util.concurrent.CompletableFuture$OrApply
            dup
            aload 1 /* e */
            aload 7 /* 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
            invokevirtual java.util.concurrent.CompletableFuture.orpush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
        10: .line 1532
            aload 7 /* d */
            areturn
        end local 7 // java.util.concurrent.CompletableFuture d
        end local 6 // java.util.concurrent.CompletableFuture z
        end local 5 // java.lang.Object r
        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   11     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   11     1     e  Ljava/util/concurrent/Executor;
            0   11     2     o  Ljava/util/concurrent/CompletionStage<TU;>;
            0   11     3     f  Ljava/util/function/Function<-TT;+TV;>;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            3   11     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            5   11     5     r  Ljava/lang/Object;
            4   11     6     z  Ljava/util/concurrent/CompletableFuture<+TT;>;
            9   11     7     d  Ljava/util/concurrent/CompletableFuture<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     

  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=9, locals=8, 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 1578
            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 1579
      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 1582
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 0 /* this */
            dup
            astore 6 /* z */
        start local 6 // java.util.concurrent.CompletableFuture z
         4: getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         5: ifnonnull 7
         6: .line 1583
            aload 4 /* b */
            dup
            astore 6 /* z */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
            ifnull 8
         7: .line 1584
      StackMap locals: java.lang.Object java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 6 /* z */
            aload 5 /* r */
            aload 1 /* e */
            aload 3 /* f */
            invokevirtual java.util.concurrent.CompletableFuture.uniAcceptNow:(Ljava/lang/Object;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            areturn
         8: .line 1586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 7 /* d */
        start local 7 // java.util.concurrent.CompletableFuture d
         9: .line 1587
            aload 0 /* this */
            aload 4 /* b */
            new java.util.concurrent.CompletableFuture$OrAccept
            dup
            aload 1 /* e */
            aload 7 /* 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
            invokevirtual java.util.concurrent.CompletableFuture.orpush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
        10: .line 1588
            aload 7 /* d */
            areturn
        end local 7 // java.util.concurrent.CompletableFuture d
        end local 6 // java.util.concurrent.CompletableFuture z
        end local 5 // java.lang.Object r
        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   11     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   11     1     e  Ljava/util/concurrent/Executor;
            0   11     2     o  Ljava/util/concurrent/CompletionStage<TU;>;
            0   11     3     f  Ljava/util/function/Consumer<-TT;>;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            3   11     4     b  Ljava/util/concurrent/CompletableFuture<TU;>;
            5   11     5     r  Ljava/lang/Object;
            4   11     6     z  Ljava/util/concurrent/CompletableFuture<+TT;>;
            9   11     7     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    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     

  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=9, locals=8, 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 1631
            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 1632
      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 1635
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 0 /* this */
            dup
            astore 6 /* z */
        start local 6 // java.util.concurrent.CompletableFuture z
         4: getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
        start local 5 // java.lang.Object r
         5: ifnonnull 7
         6: .line 1636
            aload 4 /* b */
            dup
            astore 6 /* z */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 5 /* r */
            ifnull 8
         7: .line 1637
      StackMap locals: java.lang.Object java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 6 /* z */
            aload 5 /* r */
            aload 1 /* e */
            aload 3 /* f */
            invokevirtual java.util.concurrent.CompletableFuture.uniRunNow:(Ljava/lang/Object;Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
            areturn
         8: .line 1639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.newIncompleteFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 7 /* d */
        start local 7 // java.util.concurrent.CompletableFuture d
         9: .line 1640
            aload 0 /* this */
            aload 4 /* b */
            new java.util.concurrent.CompletableFuture$OrRun
            dup
            aload 1 /* e */
            aload 7 /* 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
            invokevirtual java.util.concurrent.CompletableFuture.orpush:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
        10: .line 1641
            aload 7 /* d */
            areturn
        end local 7 // java.util.concurrent.CompletableFuture d
        end local 6 // java.util.concurrent.CompletableFuture z
        end local 5 // java.lang.Object r
        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   11     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   11     1     e  Ljava/util/concurrent/Executor;
            0   11     2     o  Ljava/util/concurrent/CompletionStage<*>;
            0   11     3     f  Ljava/lang/Runnable;
            1    2     4     b  Ljava/util/concurrent/CompletableFuture<*>;
            3   11     4     b  Ljava/util/concurrent/CompletableFuture<*>;
            5   11     5     r  Ljava/lang/Object;
            4   11     6     z  Ljava/util/concurrent/CompletableFuture<*>;
            9   11     7     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    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     

  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 1712
            aload 1 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 1713
      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 1714
            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 1715
            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 1748
            aload 1 /* f */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 1749
      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 1750
            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 1751
            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=5, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // boolean interruptible
         0: .line 1810
            aconst_null
            astore 2 /* q */
        start local 2 // java.util.concurrent.CompletableFuture$Signaller q
         1: .line 1811
            iconst_0
            istore 3 /* queued */
        start local 3 // boolean queued
         2: .line 1813
            goto 16
        start local 4 // java.lang.Object r
         3: .line 1814
      StackMap locals: java.util.concurrent.CompletableFuture$Signaller int java.lang.Object
      StackMap stack:
            aload 2 /* q */
            ifnonnull 8
         4: .line 1815
            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 */
         5: .line 1816
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            instanceof java.util.concurrent.ForkJoinWorkerThread
            ifeq 16
         6: .line 1817
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()Ljava/util/concurrent/Executor;
            aload 2 /* q */
            invokestatic java.util.concurrent.ForkJoinPool.helpAsyncBlocker:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
         7: .line 1818
            goto 16
         8: .line 1819
      StackMap locals:
      StackMap stack:
            iload 3 /* queued */
            ifne 10
         9: .line 1820
            aload 0 /* this */
            aload 2 /* q */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            istore 3 /* queued */
            goto 16
        10: .line 1823
      StackMap locals:
      StackMap stack:
            aload 2 /* q */
            invokestatic java.util.concurrent.ForkJoinPool.managedBlock:(Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
        11: .line 1824
            goto 14
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        12: pop
        13: .line 1825
            aload 2 /* q */
            iconst_1
            putfield java.util.concurrent.CompletableFuture$Signaller.interrupted:Z
        14: .line 1827
      StackMap locals:
      StackMap stack:
            aload 2 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.interrupted:Z
            ifeq 16
            iload 1 /* interruptible */
            ifeq 16
        15: .line 1828
            goto 18
        end local 4 // java.lang.Object r
        16: .line 1813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
        start local 4 // java.lang.Object r
        17: ifnull 3
        18: .line 1831
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* q */
            ifnull 24
            iload 3 /* queued */
            ifeq 24
        19: .line 1832
            aload 2 /* q */
            aconst_null
            putfield java.util.concurrent.CompletableFuture$Signaller.thread:Ljava/lang/Thread;
        20: .line 1833
            iload 1 /* interruptible */
            ifne 22
            aload 2 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.interrupted:Z
            ifeq 22
        21: .line 1834
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        22: .line 1835
      StackMap locals:
      StackMap stack:
            aload 4 /* r */
            ifnonnull 24
        23: .line 1836
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.cleanStack:()V
        24: .line 1838
      StackMap locals:
      StackMap stack:
            aload 4 /* r */
            ifnonnull 25
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 4 /* r */
            ifnull 26
        25: .line 1839
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
        26: .line 1840
      StackMap locals:
      StackMap stack:
            aload 4 /* r */
            areturn
        end local 4 // java.lang.Object r
        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   27     0           this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   27     1  interruptible  Z
            1   27     2              q  Ljava/util/concurrent/CompletableFuture$Signaller;
            2   27     3         queued  Z
            3   16     4              r  Ljava/lang/Object;
           17   27     4              r  Ljava/lang/Object;
      Exception table:
        from    to  target  type
          10    11      12  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=7, locals=10, args_size=2
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // long nanos
         0: .line 1848
            invokestatic java.lang.Thread.interrupted:()Z
            ifeq 2
         1: .line 1849
            aconst_null
            areturn
         2: .line 1850
      StackMap locals:
      StackMap stack:
            lload 1 /* nanos */
            lconst_0
            lcmp
            ifle 35
         3: .line 1851
            invokestatic java.lang.System.nanoTime:()J
            lload 1 /* nanos */
            ladd
            lstore 3 /* d */
        start local 3 // long d
         4: .line 1852
            lload 3 /* d */
            lconst_0
            lcmp
            ifne 5
            lconst_1
            goto 6
      StackMap locals: long
      StackMap stack:
         5: lload 3 /* d */
      StackMap locals:
      StackMap stack: long
         6: lstore 5 /* deadline */
        start local 5 // long deadline
         7: .line 1853
            aconst_null
            astore 7 /* q */
        start local 7 // java.util.concurrent.CompletableFuture$Signaller q
         8: .line 1854
            iconst_0
            istore 8 /* queued */
        start local 8 // boolean queued
         9: .line 1856
            goto 25
        start local 9 // java.lang.Object r
        10: .line 1857
      StackMap locals: java.util.concurrent.CompletableFuture long long long java.util.concurrent.CompletableFuture$Signaller int java.lang.Object
      StackMap stack:
            aload 7 /* q */
            ifnonnull 15
        11: .line 1858
            new java.util.concurrent.CompletableFuture$Signaller
            dup
            iconst_1
            lload 1 /* nanos */
            lload 5 /* deadline */
            invokespecial java.util.concurrent.CompletableFuture$Signaller.<init>:(ZJJ)V
            astore 7 /* q */
        12: .line 1859
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            instanceof java.util.concurrent.ForkJoinWorkerThread
            ifeq 25
        13: .line 1860
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()Ljava/util/concurrent/Executor;
            aload 7 /* q */
            invokestatic java.util.concurrent.ForkJoinPool.helpAsyncBlocker:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
        14: .line 1861
            goto 25
        15: .line 1862
      StackMap locals:
      StackMap stack:
            iload 8 /* queued */
            ifne 17
        16: .line 1863
            aload 0 /* this */
            aload 7 /* q */
            invokevirtual java.util.concurrent.CompletableFuture.tryPushStack:(Ljava/util/concurrent/CompletableFuture$Completion;)Z
            istore 8 /* queued */
            goto 25
        17: .line 1864
      StackMap locals:
      StackMap stack:
            aload 7 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.nanos:J
            lconst_0
            lcmp
            ifgt 19
        18: .line 1865
            goto 27
        19: .line 1868
      StackMap locals:
      StackMap stack:
            aload 7 /* q */
            invokestatic java.util.concurrent.ForkJoinPool.managedBlock:(Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
        20: .line 1869
            goto 23
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        21: pop
        22: .line 1870
            aload 7 /* q */
            iconst_1
            putfield java.util.concurrent.CompletableFuture$Signaller.interrupted:Z
        23: .line 1872
      StackMap locals:
      StackMap stack:
            aload 7 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.interrupted:Z
            ifeq 25
        24: .line 1873
            goto 27
        end local 9 // java.lang.Object r
        25: .line 1856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 9 /* r */
        start local 9 // java.lang.Object r
        26: ifnull 10
        27: .line 1876
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* q */
            ifnull 31
            iload 8 /* queued */
            ifeq 31
        28: .line 1877
            aload 7 /* q */
            aconst_null
            putfield java.util.concurrent.CompletableFuture$Signaller.thread:Ljava/lang/Thread;
        29: .line 1878
            aload 9 /* r */
            ifnonnull 31
        30: .line 1879
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.cleanStack:()V
        31: .line 1881
      StackMap locals:
      StackMap stack:
            aload 9 /* r */
            ifnonnull 32
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 9 /* r */
            ifnull 33
        32: .line 1882
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
        33: .line 1883
      StackMap locals:
      StackMap stack:
            aload 9 /* r */
            ifnonnull 34
            aload 7 /* q */
            ifnull 35
            aload 7 /* q */
            getfield java.util.concurrent.CompletableFuture$Signaller.interrupted:Z
            ifeq 35
        34: .line 1884
      StackMap locals:
      StackMap stack:
            aload 9 /* r */
            areturn
        end local 9 // java.lang.Object r
        end local 8 // boolean queued
        end local 7 // java.util.concurrent.CompletableFuture$Signaller q
        end local 5 // long deadline
        end local 3 // long d
        35: .line 1886
      StackMap locals: java.util.concurrent.CompletableFuture long
      StackMap stack:
            new java.util.concurrent.TimeoutException
            dup
            invokespecial java.util.concurrent.TimeoutException.<init>:()V
            athrow
        end local 1 // long nanos
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   36     0      this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0   36     1     nanos  J
            4   35     3         d  J
            7   35     5  deadline  J
            8   35     7         q  Ljava/util/concurrent/CompletableFuture$Signaller;
            9   35     8    queued  Z
           10   25     9         r  Ljava/lang/Object;
           26   35     9         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 1894
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1895
            return
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;

  void <init>(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    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 1900
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1901
            aload 0 /* this */
            aload 1 /* r */
            putfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
         2: .line 1902
            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 1915
            getstatic java.util.concurrent.CompletableFuture.ASYNC_POOL: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 1931
            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 1944
            getstatic java.util.concurrent.CompletableFuture.ASYNC_POOL: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 1959
            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 1971
            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 1981
            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 1997
            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 3
         2: .line 1998
            aload 0 /* this */
            iconst_1
            invokevirtual java.util.concurrent.CompletableFuture.waitingGet:(Z)Ljava/lang/Object;
            astore 1 /* r */
         3: .line 1999
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* r */
            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 2018
            aload 3 /* unit */
            lload 1 /* timeout */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            lstore 4 /* nanos */
        start local 4 // long nanos
         1: .line 2020
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 6 /* r */
        start local 6 // java.lang.Object r
         2: ifnonnull 4
         3: .line 2021
            aload 0 /* this */
            lload 4 /* nanos */
            invokevirtual java.util.concurrent.CompletableFuture.timedGet:(J)Ljava/lang/Object;
            astore 6 /* r */
         4: .line 2022
      StackMap locals: long java.lang.Object
      StackMap stack:
            aload 6 /* r */
            invokestatic java.util.concurrent.CompletableFuture.reportGet:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 6 // java.lang.Object r
        end local 4 // long nanos
        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;
            1    5     4    nanos  J
            2    5     6        r  Ljava/lang/Object;
    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 2042
            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 3
         2: .line 2043
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.concurrent.CompletableFuture.waitingGet:(Z)Ljava/lang/Object;
            astore 1 /* r */
         3: .line 2044
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* r */
            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 2060
            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 2072
            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 2073
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         2: .line 2074
            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 2086
            aload 1 /* ex */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 2087
      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 2088
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         3: .line 2089
            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 2094
            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 2099
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2104
            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 2108
            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 2112
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2117
            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 2121
            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 2125
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2130
            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 2136
            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 2142
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2148
            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 2154
            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 2160
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2166
            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 2171
            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 2176
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2182
            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 2187
            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 2192
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2198
            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 2203
            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 2208
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2214
            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 2219
            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 2224
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2230
            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 2235
            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 2240
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2246
            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 2251
            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 2256
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2261
            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 2266
            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 2271
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()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 2276
            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 2285
            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 2307
            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 2337
            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=6, locals=8, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture[] cfs
         0: .line 2357
            aload 0 /* cfs */
            arraylength
            dup
            istore 1 /* n */
        start local 1 // int n
         1: iconst_1
            if_icmpgt 6
         2: .line 2358
            iload 1 /* n */
            ifne 4
         3: .line 2359
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            goto 5
         4: .line 2360
      StackMap locals: int
      StackMap stack:
            aload 0 /* cfs */
            iconst_0
            aaload
            invokestatic java.util.concurrent.CompletableFuture.uniCopyStage:(Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
         5: .line 2358
      StackMap locals:
      StackMap stack: java.util.concurrent.CompletableFuture
            areturn
         6: .line 2361
      StackMap locals:
      StackMap stack:
            aload 0 /* cfs */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 12
      StackMap locals: java.util.concurrent.CompletableFuture[] int top top int int java.util.concurrent.CompletableFuture[]
      StackMap stack:
         7: aload 6
            iload 4
            aaload
            astore 3 /* cf */
        start local 3 // java.util.concurrent.CompletableFuture cf
         8: .line 2362
            aload 3 /* cf */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            dup
            astore 2 /* r */
        start local 2 // java.lang.Object r
         9: ifnull 11
        10: .line 2363
            new java.util.concurrent.CompletableFuture
            dup
            aload 2 /* r */
            invokestatic java.util.concurrent.CompletableFuture.encodeRelay:(Ljava/lang/Object;)Ljava/lang/Object;
            invokespecial java.util.concurrent.CompletableFuture.<init>:(Ljava/lang/Object;)V
            areturn
        end local 3 // java.util.concurrent.CompletableFuture cf
        end local 2 // java.lang.Object r
        11: .line 2361
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        12: iload 4
            iload 5
            if_icmplt 7
        13: .line 2364
            aload 0 /* cfs */
            invokevirtual java.util.concurrent.CompletableFuture[].clone:()Ljava/lang/Object;
            checkcast java.util.concurrent.CompletableFuture[]
            astore 0 /* cfs */
        14: .line 2365
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 3 /* d */
        start local 3 // java.util.concurrent.CompletableFuture d
        15: .line 2366
            aload 0 /* cfs */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 19
      StackMap locals: java.util.concurrent.CompletableFuture[] int top java.util.concurrent.CompletableFuture top int int java.util.concurrent.CompletableFuture[]
      StackMap stack:
        16: aload 7
            iload 5
            aaload
            astore 4 /* cf */
        start local 4 // java.util.concurrent.CompletableFuture cf
        17: .line 2367
            aload 4 /* cf */
            new java.util.concurrent.CompletableFuture$AnyOf
            dup
            aload 3 /* d */
            aload 4 /* cf */
            aload 0 /* cfs */
            invokespecial java.util.concurrent.CompletableFuture$AnyOf.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;[Ljava/util/concurrent/CompletableFuture;)V
            invokevirtual java.util.concurrent.CompletableFuture.unipush:(Ljava/util/concurrent/CompletableFuture$Completion;)V
        end local 4 // java.util.concurrent.CompletableFuture cf
        18: .line 2366
            iinc 5 1
      StackMap locals:
      StackMap stack:
        19: iload 5
            iload 6
            if_icmplt 16
        20: .line 2371
            aload 3 /* d */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 32
        21: .line 2372
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        22: aload 0 /* cfs */
            arraylength
            istore 5 /* len */
        start local 5 // int len
        23: goto 31
        24: .line 2373
      StackMap locals: java.util.concurrent.CompletableFuture[] int top java.util.concurrent.CompletableFuture int int
      StackMap stack:
            aload 0 /* cfs */
            iload 4 /* i */
            aaload
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnull 30
        25: .line 2374
            iinc 4 /* i */ 1
            goto 29
        26: .line 2375
      StackMap locals:
      StackMap stack:
            aload 0 /* cfs */
            iload 4 /* i */
            aaload
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 28
        27: .line 2376
            aload 0 /* cfs */
            iload 4 /* i */
            aaload
            invokevirtual java.util.concurrent.CompletableFuture.cleanStack:()V
        28: .line 2374
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 4 /* i */
            iload 5 /* len */
            if_icmplt 26
        30: .line 2372
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 4 /* i */
            iload 5 /* len */
            if_icmplt 24
        end local 5 // int len
        end local 4 // int i
        32: .line 2377
      StackMap locals:
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 3 // java.util.concurrent.CompletableFuture d
        end local 1 // int n
        end local 0 // java.util.concurrent.CompletableFuture[] cfs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   33     0   cfs  [Ljava/util/concurrent/CompletableFuture;
            1   33     1     n  I
            9   11     2     r  Ljava/lang/Object;
            8   11     3    cf  Ljava/util/concurrent/CompletableFuture<*>;
           15   33     3     d  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Object;>;
           17   18     4    cf  Ljava/util/concurrent/CompletableFuture<*>;
           22   32     4     i  I
           23   32     5   len  I
    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 2396
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 3
         1: .line 2397
            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 2396
            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 2398
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         6: .line 2399
            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 2411
            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 2412
            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 2411
            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 2427
            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 2441
            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 2442
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         4: .line 2443
            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 2457
            aload 1 /* ex */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 2458
      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 2459
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
         3: .line 2460
            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 2471
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 2472
            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 2473
      StackMap locals: int java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            iinc 1 /* count */ 1
         4: .line 2472
            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 2474
            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=4, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 2488
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            astore 1 /* r */
        start local 1 // java.lang.Object r
         1: .line 2489
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         2: .line 2490
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.stack:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 3 /* p */
        start local 3 // java.util.concurrent.CompletableFuture$Completion p
         3: goto 6
         4: .line 2491
      StackMap locals: java.lang.Object int java.util.concurrent.CompletableFuture$Completion
      StackMap stack:
            iinc 2 /* count */ 1
         5: .line 2490
            aload 3 /* p */
            getfield java.util.concurrent.CompletableFuture$Completion.next:Ljava/util/concurrent/CompletableFuture$Completion;
            astore 3 /* p */
      StackMap locals:
      StackMap stack:
         6: aload 3 /* p */
            ifnonnull 4
        end local 3 // java.util.concurrent.CompletableFuture$Completion p
         7: .line 2492
            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
         8: .line 2493
            aload 1 /* r */
            ifnonnull 12
         9: .line 2494
            iload 2 /* count */
            ifne 11
        10: .line 2495
            ldc "[Not completed]"
            goto 15
        11: .line 2496
      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 15
        12: .line 2497
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            aload 1 /* r */
            instanceof java.util.concurrent.CompletableFuture$AltResult
            ifeq 14
            aload 1 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            ifnull 14
        13: .line 2498
            new java.lang.StringBuilder
            dup
            ldc "[Completed exceptionally: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* r */
            checkcast java.util.concurrent.CompletableFuture$AltResult
            getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 15
        14: .line 2499
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            ldc "[Completed normally]"
        15: .line 2493
      StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object int
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 2492
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // int count
        end local 1 // java.lang.Object r
        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      r  Ljava/lang/Object;
            2   17     2  count  I
            3    7     3      p  Ljava/util/concurrent/CompletableFuture$Completion;

  public <U> java.util.concurrent.CompletableFuture<U> newIncompleteFuture();
    descriptor: ()Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 2516
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            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: <U:Ljava/lang/Object;>()Ljava/util/concurrent/CompletableFuture<TU;>;

  public java.util.concurrent.Executor defaultExecutor();
    descriptor: ()Ljava/util/concurrent/Executor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 2531
            getstatic java.util.concurrent.CompletableFuture.ASYNC_POOL:Ljava/util/concurrent/Executor;
            areturn
        end local 0 // java.util.concurrent.CompletableFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/concurrent/CompletableFuture<TT;>;

  public java.util.concurrent.CompletableFuture<T> copy();
    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 2549
            aload 0 /* this */
            invokestatic java.util.concurrent.CompletableFuture.uniCopyStage:(Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
            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.CompletionStage<T> minimalCompletionStage();
    descriptor: ()Ljava/util/concurrent/CompletionStage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.CompletableFuture this
         0: .line 2573
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.uniAsMinimalStage:()Ljava/util/concurrent/CompletableFuture$MinimalStage;
            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/CompletionStage<TT;>;

  public java.util.concurrent.CompletableFuture<T> completeAsync(java.util.function.Supplier<? extends T>, java.util.concurrent.Executor);
    descriptor: (Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.util.function.Supplier supplier
        start local 2 // java.util.concurrent.Executor executor
         0: .line 2589
            aload 1 /* supplier */
            ifnull 1
            aload 2 /* executor */
            ifnonnull 2
         1: .line 2590
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2591
      StackMap locals:
      StackMap stack:
            aload 2 /* executor */
            new java.util.concurrent.CompletableFuture$AsyncSupply
            dup
            aload 0 /* this */
            aload 1 /* supplier */
            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 2592
            aload 0 /* this */
            areturn
        end local 2 // java.util.concurrent.Executor executor
        end local 1 // java.util.function.Supplier supplier
        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  supplier  Ljava/util/function/Supplier<+TT;>;
            0    4     2  executor  Ljava/util/concurrent/Executor;
    Signature: (Ljava/util/function/Supplier<+TT;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
          Name  Flags
      supplier  
      executor  

  public java.util.concurrent.CompletableFuture<T> completeAsync(java.util.function.Supplier<? extends T>);
    descriptor: (Ljava/util/function/Supplier;)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.Supplier supplier
         0: .line 2606
            aload 0 /* this */
            aload 1 /* supplier */
            aload 0 /* this */
            invokevirtual java.util.concurrent.CompletableFuture.defaultExecutor:()Ljava/util/concurrent/Executor;
            invokevirtual java.util.concurrent.CompletableFuture.completeAsync:(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.util.function.Supplier supplier
        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  supplier  Ljava/util/function/Supplier<+TT;>;
    Signature: (Ljava/util/function/Supplier<+TT;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
          Name  Flags
      supplier  

  public java.util.concurrent.CompletableFuture<T> orTimeout(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, 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 2622
            aload 3 /* unit */
            ifnonnull 2
         1: .line 2623
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 6
         3: .line 2625
            aload 0 /* this */
            new java.util.concurrent.CompletableFuture$Canceller
            dup
            new java.util.concurrent.CompletableFuture$Timeout
            dup
            aload 0 /* this */
            invokespecial java.util.concurrent.CompletableFuture$Timeout.<init>:(Ljava/util/concurrent/CompletableFuture;)V
         4: .line 2626
            lload 1 /* timeout */
            aload 3 /* unit */
         5: .line 2625
            invokestatic java.util.concurrent.CompletableFuture$Delayer.delay:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            invokespecial java.util.concurrent.CompletableFuture$Canceller.<init>:(Ljava/util/concurrent/Future;)V
            invokevirtual java.util.concurrent.CompletableFuture.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            pop
         6: .line 2627
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        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    7     0     this  Ljava/util/concurrent/CompletableFuture<TT;>;
            0    7     1  timeout  J
            0    7     3     unit  Ljava/util/concurrent/TimeUnit;
    Signature: (JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
         Name  Flags
      timeout  
      unit     

  public java.util.concurrent.CompletableFuture<T> completeOnTimeout(T, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // java.util.concurrent.CompletableFuture this
        start local 1 // java.lang.Object value
        start local 2 // long timeout
        start local 4 // java.util.concurrent.TimeUnit unit
         0: .line 2644
            aload 4 /* unit */
            ifnonnull 2
         1: .line 2645
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
            ifnonnull 7
         3: .line 2647
            aload 0 /* this */
            new java.util.concurrent.CompletableFuture$Canceller
            dup
         4: .line 2648
            new java.util.concurrent.CompletableFuture$DelayedCompleter
            dup
            aload 0 /* this */
            aload 1 /* value */
            invokespecial java.util.concurrent.CompletableFuture$DelayedCompleter.<init>:(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Object;)V
         5: .line 2649
            lload 2 /* timeout */
            aload 4 /* unit */
         6: .line 2647
            invokestatic java.util.concurrent.CompletableFuture$Delayer.delay:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            invokespecial java.util.concurrent.CompletableFuture$Canceller.<init>:(Ljava/util/concurrent/Future;)V
            invokevirtual java.util.concurrent.CompletableFuture.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            pop
         7: .line 2650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 4 // java.util.concurrent.TimeUnit unit
        end local 2 // long timeout
        end local 1 // java.lang.Object value
        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    value  TT;
            0    8     2  timeout  J
            0    8     4     unit  Ljava/util/concurrent/TimeUnit;
    Signature: (TT;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
         Name  Flags
      value    
      timeout  
      unit     

  public static java.util.concurrent.Executor delayedExecutor(long, java.util.concurrent.TimeUnit, java.util.concurrent.Executor);
    descriptor: (JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // long delay
        start local 2 // java.util.concurrent.TimeUnit unit
        start local 3 // java.util.concurrent.Executor executor
         0: .line 2668
            aload 2 /* unit */
            ifnull 1
            aload 3 /* executor */
            ifnonnull 2
         1: .line 2669
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2670
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture$DelayedExecutor
            dup
            lload 0 /* delay */
            aload 2 /* unit */
            aload 3 /* executor */
            invokespecial java.util.concurrent.CompletableFuture$DelayedExecutor.<init>:(JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/Executor;)V
            areturn
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // java.util.concurrent.TimeUnit unit
        end local 0 // long delay
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0     delay  J
            0    3     2      unit  Ljava/util/concurrent/TimeUnit;
            0    3     3  executor  Ljava/util/concurrent/Executor;
    MethodParameters:
          Name  Flags
      delay     
      unit      
      executor  

  public static java.util.concurrent.Executor delayedExecutor(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/Executor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // long delay
        start local 2 // java.util.concurrent.TimeUnit unit
         0: .line 2686
            aload 2 /* unit */
            ifnonnull 2
         1: .line 2687
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2688
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture$DelayedExecutor
            dup
            lload 0 /* delay */
            aload 2 /* unit */
            getstatic java.util.concurrent.CompletableFuture.ASYNC_POOL:Ljava/util/concurrent/Executor;
            invokespecial java.util.concurrent.CompletableFuture$DelayedExecutor.<init>:(JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/Executor;)V
            areturn
        end local 2 // java.util.concurrent.TimeUnit unit
        end local 0 // long delay
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  delay  J
            0    3     2   unit  Ljava/util/concurrent/TimeUnit;
    MethodParameters:
       Name  Flags
      delay  
      unit   

  public static <U> java.util.concurrent.CompletionStage<U> completedStage(U);
    descriptor: (Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 2702
            new java.util.concurrent.CompletableFuture$MinimalStage
            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$MinimalStage.<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/CompletionStage<TU;>;
    MethodParameters:
       Name  Flags
      value  

  public static <U> java.util.concurrent.CompletableFuture<U> failedFuture(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Throwable ex
         0: .line 2715
            aload 0 /* ex */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 2716
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture
            dup
            new java.util.concurrent.CompletableFuture$AltResult
            dup
            aload 0 /* ex */
            invokespecial java.util.concurrent.CompletableFuture$AltResult.<init>:(Ljava/lang/Throwable;)V
            invokespecial java.util.concurrent.CompletableFuture.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Throwable ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ex  Ljava/lang/Throwable;
    Signature: <U:Ljava/lang/Object;>(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
      Name  Flags
      ex    

  public static <U> java.util.concurrent.CompletionStage<U> failedStage(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/util/concurrent/CompletionStage;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Throwable ex
         0: .line 2730
            aload 0 /* ex */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 2731
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.CompletableFuture$MinimalStage
            dup
            new java.util.concurrent.CompletableFuture$AltResult
            dup
            aload 0 /* ex */
            invokespecial java.util.concurrent.CompletableFuture$AltResult.<init>:(Ljava/lang/Throwable;)V
            invokespecial java.util.concurrent.CompletableFuture$MinimalStage.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Throwable ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ex  Ljava/lang/Throwable;
    Signature: <U:Ljava/lang/Object;>(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletionStage<TU;>;
    MethodParameters:
      Name  Flags
      ex    

  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$AnyOf  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$Canceller  java.util.concurrent.CompletableFuture$CoCompletion  java.util.concurrent.CompletableFuture$Completion  java.util.concurrent.CompletableFuture$DelayedCompleter  java.util.concurrent.CompletableFuture$DelayedExecutor  java.util.concurrent.CompletableFuture$Delayer  java.util.concurrent.CompletableFuture$Delayer$DaemonThreadFactory  java.util.concurrent.CompletableFuture$MinimalStage  java.util.concurrent.CompletableFuture$OrAccept  java.util.concurrent.CompletableFuture$OrApply  java.util.concurrent.CompletableFuture$OrRun  java.util.concurrent.CompletableFuture$Signaller  java.util.concurrent.CompletableFuture$TaskSubmitter  java.util.concurrent.CompletableFuture$ThreadPerTaskExecutor  java.util.concurrent.CompletableFuture$Timeout  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:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  final AltResult = java.util.concurrent.CompletableFuture$AltResult of java.util.concurrent.CompletableFuture
  AnyOf = java.util.concurrent.CompletableFuture$AnyOf 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 Canceller = java.util.concurrent.CompletableFuture$Canceller 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 DelayedCompleter = java.util.concurrent.CompletableFuture$DelayedCompleter of java.util.concurrent.CompletableFuture
  final DelayedExecutor = java.util.concurrent.CompletableFuture$DelayedExecutor of java.util.concurrent.CompletableFuture
  final Delayer = java.util.concurrent.CompletableFuture$Delayer of java.util.concurrent.CompletableFuture
  final MinimalStage = java.util.concurrent.CompletableFuture$MinimalStage 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 OrRun = java.util.concurrent.CompletableFuture$OrRun of java.util.concurrent.CompletableFuture
  final Signaller = java.util.concurrent.CompletableFuture$Signaller of java.util.concurrent.CompletableFuture
  final TaskSubmitter = java.util.concurrent.CompletableFuture$TaskSubmitter of java.util.concurrent.CompletableFuture
  final ThreadPerTaskExecutor = java.util.concurrent.CompletableFuture$ThreadPerTaskExecutor of java.util.concurrent.CompletableFuture
  final Timeout = java.util.concurrent.CompletableFuture$Timeout 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