public final class com.google.common.util.concurrent.Futures extends com.google.common.util.concurrent.GwtFuturesCatchingSpecialization
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.util.concurrent.Futures
  super_class: com.google.common.util.concurrent.GwtFuturesCatchingSpecialization
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.util.concurrent.Futures this
         0: .line 123
            aload 0 /* this */
            invokespecial com.google.common.util.concurrent.GwtFuturesCatchingSpecialization.<init>:()V
            return
        end local 0 // com.google.common.util.concurrent.Futures this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/util/concurrent/Futures;

  public static <V, X extends java.lang.Exception> com.google.common.util.concurrent.CheckedFuture<V, X> makeChecked(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.base.Function<? super java.lang.Exception, X>);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;)Lcom/google/common/util/concurrent/CheckedFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.util.concurrent.ListenableFuture future
        start local 1 // com.google.common.base.Function mapper
         0: .line 155
            new com.google.common.util.concurrent.Futures$MappingCheckedFuture
            dup
            aload 0 /* future */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.common.util.concurrent.ListenableFuture
            aload 1 /* mapper */
            invokespecial com.google.common.util.concurrent.Futures$MappingCheckedFuture.<init>:(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;)V
            areturn
        end local 1 // com.google.common.base.Function mapper
        end local 0 // com.google.common.util.concurrent.ListenableFuture future
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  future  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
            0    1     1  mapper  Lcom/google/common/base/Function<-Ljava/lang/Exception;TX;>;
    Signature: <V:Ljava/lang/Object;X:Ljava/lang/Exception;>(Lcom/google/common/util/concurrent/ListenableFuture<TV;>;Lcom/google/common/base/Function<-Ljava/lang/Exception;TX;>;)Lcom/google/common/util/concurrent/CheckedFuture<TV;TX;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
        Name  Flags
      future  
      mapper  

  public static <V> com.google.common.util.concurrent.ListenableFuture<V> immediateFuture(V);
    descriptor: (Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Object value
         0: .line 164
            aload 0 /* value */
            ifnonnull 3
         1: .line 167
            getstatic com.google.common.util.concurrent.ImmediateFuture$ImmediateSuccessfulFuture.NULL:Lcom/google/common/util/concurrent/ImmediateFuture$ImmediateSuccessfulFuture;
            astore 1 /* typedNull */
        start local 1 // com.google.common.util.concurrent.ListenableFuture typedNull
         2: .line 168
            aload 1 /* typedNull */
            areturn
        end local 1 // com.google.common.util.concurrent.ListenableFuture typedNull
         3: .line 170
      StackMap locals:
      StackMap stack:
            new com.google.common.util.concurrent.ImmediateFuture$ImmediateSuccessfulFuture
            dup
            aload 0 /* value */
            invokespecial com.google.common.util.concurrent.ImmediateFuture$ImmediateSuccessfulFuture.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0      value  TV;
            2    3     1  typedNull  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    Signature: <V:Ljava/lang/Object;>(TV;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      value  

  public static <V, X extends java.lang.Exception> com.google.common.util.concurrent.CheckedFuture<V, X> immediateCheckedFuture(V);
    descriptor: (Ljava/lang/Object;)Lcom/google/common/util/concurrent/CheckedFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 194
            new com.google.common.util.concurrent.ImmediateFuture$ImmediateSuccessfulCheckedFuture
            dup
            aload 0 /* value */
            invokespecial com.google.common.util.concurrent.ImmediateFuture$ImmediateSuccessfulCheckedFuture.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  TV;
    Signature: <V:Ljava/lang/Object;X:Ljava/lang/Exception;>(TV;)Lcom/google/common/util/concurrent/CheckedFuture<TV;TX;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      value  

  public static <V> com.google.common.util.concurrent.ListenableFuture<V> immediateFailedFuture(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Throwable throwable
         0: .line 205
            aload 0 /* throwable */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 206
            new com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedFuture
            dup
            aload 0 /* throwable */
            invokespecial com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedFuture.<init>:(Ljava/lang/Throwable;)V
            areturn
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  throwable  Ljava/lang/Throwable;
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    MethodParameters:
           Name  Flags
      throwable  

  public static <V> com.google.common.util.concurrent.ListenableFuture<V> immediateCancelledFuture();
    descriptor: ()Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 216
            new com.google.common.util.concurrent.ImmediateFuture$ImmediateCancelledFuture
            dup
            invokespecial com.google.common.util.concurrent.ImmediateFuture$ImmediateCancelledFuture.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <V:Ljava/lang/Object;>()Lcom/google/common/util/concurrent/ListenableFuture<TV;>;

  public static <V, X extends java.lang.Exception> com.google.common.util.concurrent.CheckedFuture<V, X> immediateFailedCheckedFuture(X);
    descriptor: (Ljava/lang/Exception;)Lcom/google/common/util/concurrent/CheckedFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Exception exception
         0: .line 241
            aload 0 /* exception */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 242
            new com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedCheckedFuture
            dup
            aload 0 /* exception */
            invokespecial com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedCheckedFuture.<init>:(Ljava/lang/Exception;)V
            areturn
        end local 0 // java.lang.Exception exception
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  exception  TX;
    Signature: <V:Ljava/lang/Object;X:Ljava/lang/Exception;>(TX;)Lcom/google/common/util/concurrent/CheckedFuture<TV;TX;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
           Name  Flags
      exception  

  public static <O> com.google.common.util.concurrent.ListenableFuture<O> submitAsync(com.google.common.util.concurrent.AsyncCallable<O>, java.util.concurrent.Executor);
    descriptor: (Lcom/google/common/util/concurrent/AsyncCallable;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.google.common.util.concurrent.AsyncCallable callable
        start local 1 // java.util.concurrent.Executor executor
         0: .line 252
            aload 0 /* callable */
            invokestatic com.google.common.util.concurrent.TrustedListenableFutureTask.create:(Lcom/google/common/util/concurrent/AsyncCallable;)Lcom/google/common/util/concurrent/TrustedListenableFutureTask;
            astore 2 /* task */
        start local 2 // com.google.common.util.concurrent.TrustedListenableFutureTask task
         1: .line 253
            aload 1 /* executor */
            aload 2 /* task */
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         2: .line 254
            aload 2 /* task */
            areturn
        end local 2 // com.google.common.util.concurrent.TrustedListenableFutureTask task
        end local 1 // java.util.concurrent.Executor executor
        end local 0 // com.google.common.util.concurrent.AsyncCallable callable
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  callable  Lcom/google/common/util/concurrent/AsyncCallable<TO;>;
            0    3     1  executor  Ljava/util/concurrent/Executor;
            1    3     2      task  Lcom/google/common/util/concurrent/TrustedListenableFutureTask<TO;>;
    Signature: <O:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/AsyncCallable<TO;>;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture<TO;>;
    MethodParameters:
          Name  Flags
      callable  
      executor  

  public static <O> com.google.common.util.concurrent.ListenableFuture<O> scheduleAsync(com.google.common.util.concurrent.AsyncCallable<O>, long, java.util.concurrent.TimeUnit, java.util.concurrent.ScheduledExecutorService);
    descriptor: (Lcom/google/common/util/concurrent/AsyncCallable;JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ScheduledExecutorService;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // com.google.common.util.concurrent.AsyncCallable callable
        start local 1 // long delay
        start local 3 // java.util.concurrent.TimeUnit timeUnit
        start local 4 // java.util.concurrent.ScheduledExecutorService executorService
         0: .line 269
            aload 0 /* callable */
            invokestatic com.google.common.util.concurrent.TrustedListenableFutureTask.create:(Lcom/google/common/util/concurrent/AsyncCallable;)Lcom/google/common/util/concurrent/TrustedListenableFutureTask;
            astore 5 /* task */
        start local 5 // com.google.common.util.concurrent.TrustedListenableFutureTask task
         1: .line 270
            aload 4 /* executorService */
            aload 5 /* task */
            lload 1 /* delay */
            aload 3 /* timeUnit */
            invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            astore 6 /* scheduled */
        start local 6 // java.util.concurrent.Future scheduled
         2: .line 271
            aload 5 /* task */
         3: .line 272
            new com.google.common.util.concurrent.Futures$1
            dup
            aload 6 /* scheduled */
            invokespecial com.google.common.util.concurrent.Futures$1.<init>:(Ljava/util/concurrent/Future;)V
         4: .line 279
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
         5: .line 271
            invokevirtual com.google.common.util.concurrent.TrustedListenableFutureTask.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
         6: .line 280
            aload 5 /* task */
            areturn
        end local 6 // java.util.concurrent.Future scheduled
        end local 5 // com.google.common.util.concurrent.TrustedListenableFutureTask task
        end local 4 // java.util.concurrent.ScheduledExecutorService executorService
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long delay
        end local 0 // com.google.common.util.concurrent.AsyncCallable callable
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0         callable  Lcom/google/common/util/concurrent/AsyncCallable<TO;>;
            0    7     1            delay  J
            0    7     3         timeUnit  Ljava/util/concurrent/TimeUnit;
            0    7     4  executorService  Ljava/util/concurrent/ScheduledExecutorService;
            1    7     5             task  Lcom/google/common/util/concurrent/TrustedListenableFutureTask<TO;>;
            2    7     6        scheduled  Ljava/util/concurrent/Future<*>;
    Signature: <O:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/AsyncCallable<TO;>;JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ScheduledExecutorService;)Lcom/google/common/util/concurrent/ListenableFuture<TO;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
                 Name  Flags
      callable         
      delay            
      timeUnit         
      executorService  

  public static <V, X extends java.lang.Throwable> com.google.common.util.concurrent.ListenableFuture<V> catching(com.google.common.util.concurrent.ListenableFuture<? extends V>, java.lang.Class<X>, com.google.common.base.Function<? super X, ? extends V>);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/base/Function;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.google.common.util.concurrent.ListenableFuture input
        start local 1 // java.lang.Class exceptionType
        start local 2 // com.google.common.base.Function fallback
         0: .line 332
            aload 0 /* input */
            aload 1 /* exceptionType */
            aload 2 /* fallback */
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
            invokestatic com.google.common.util.concurrent.AbstractCatchingFuture.create:(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 2 // com.google.common.base.Function fallback
        end local 1 // java.lang.Class exceptionType
        end local 0 // com.google.common.util.concurrent.ListenableFuture input
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0          input  Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;
            0    1     1  exceptionType  Ljava/lang/Class<TX;>;
            0    1     2       fallback  Lcom/google/common/base/Function<-TX;+TV;>;
    Signature: <V:Ljava/lang/Object;X:Ljava/lang/Throwable;>(Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;Ljava/lang/Class<TX;>;Lcom/google/common/base/Function<-TX;+TV;>;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.DoNotCall()
      com.google.common.util.concurrent.Partially$GwtIncompatible(value = "AVAILABLE but requires exceptionType to be Throwable.class")
    MethodParameters:
               Name  Flags
      input          
      exceptionType  
      fallback       

  public static <V, X extends java.lang.Throwable> com.google.common.util.concurrent.ListenableFuture<V> catching(com.google.common.util.concurrent.ListenableFuture<? extends V>, java.lang.Class<X>, com.google.common.base.Function<? super X, ? extends V>, java.util.concurrent.Executor);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.google.common.util.concurrent.ListenableFuture input
        start local 1 // java.lang.Class exceptionType
        start local 2 // com.google.common.base.Function fallback
        start local 3 // java.util.concurrent.Executor executor
         0: .line 379
            aload 0 /* input */
            aload 1 /* exceptionType */
            aload 2 /* fallback */
            aload 3 /* executor */
            invokestatic com.google.common.util.concurrent.AbstractCatchingFuture.create:(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // com.google.common.base.Function fallback
        end local 1 // java.lang.Class exceptionType
        end local 0 // com.google.common.util.concurrent.ListenableFuture input
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0          input  Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;
            0    1     1  exceptionType  Ljava/lang/Class<TX;>;
            0    1     2       fallback  Lcom/google/common/base/Function<-TX;+TV;>;
            0    1     3       executor  Ljava/util/concurrent/Executor;
    Signature: <V:Ljava/lang/Object;X:Ljava/lang/Throwable;>(Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;Ljava/lang/Class<TX;>;Lcom/google/common/base/Function<-TX;+TV;>;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.util.concurrent.Partially$GwtIncompatible(value = "AVAILABLE but requires exceptionType to be Throwable.class")
    MethodParameters:
               Name  Flags
      input          
      exceptionType  
      fallback       
      executor       

  public static <V, X extends java.lang.Throwable> com.google.common.util.concurrent.ListenableFuture<V> catchingAsync(com.google.common.util.concurrent.ListenableFuture<? extends V>, java.lang.Class<X>, com.google.common.util.concurrent.AsyncFunction<? super X, ? extends V>);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/util/concurrent/AsyncFunction;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.google.common.util.concurrent.ListenableFuture input
        start local 1 // java.lang.Class exceptionType
        start local 2 // com.google.common.util.concurrent.AsyncFunction fallback
         0: .line 453
            aload 0 /* input */
            aload 1 /* exceptionType */
            aload 2 /* fallback */
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
            invokestatic com.google.common.util.concurrent.AbstractCatchingFuture.create:(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 2 // com.google.common.util.concurrent.AsyncFunction fallback
        end local 1 // java.lang.Class exceptionType
        end local 0 // com.google.common.util.concurrent.ListenableFuture input
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0          input  Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;
            0    1     1  exceptionType  Ljava/lang/Class<TX;>;
            0    1     2       fallback  Lcom/google/common/util/concurrent/AsyncFunction<-TX;+TV;>;
    Signature: <V:Ljava/lang/Object;X:Ljava/lang/Throwable;>(Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;Ljava/lang/Class<TX;>;Lcom/google/common/util/concurrent/AsyncFunction<-TX;+TV;>;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
      com.google.errorprone.annotations.DoNotCall()
      com.google.common.util.concurrent.Partially$GwtIncompatible(value = "AVAILABLE but requires exceptionType to be Throwable.class")
    MethodParameters:
               Name  Flags
      input          
      exceptionType  
      fallback       

  public static <V, X extends java.lang.Throwable> com.google.common.util.concurrent.ListenableFuture<V> catchingAsync(com.google.common.util.concurrent.ListenableFuture<? extends V>, java.lang.Class<X>, com.google.common.util.concurrent.AsyncFunction<? super X, ? extends V>, java.util.concurrent.Executor);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.google.common.util.concurrent.ListenableFuture input
        start local 1 // java.lang.Class exceptionType
        start local 2 // com.google.common.util.concurrent.AsyncFunction fallback
        start local 3 // java.util.concurrent.Executor executor
         0: .line 522
            aload 0 /* input */
            aload 1 /* exceptionType */
            aload 2 /* fallback */
            aload 3 /* executor */
            invokestatic com.google.common.util.concurrent.AbstractCatchingFuture.create:(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // com.google.common.util.concurrent.AsyncFunction fallback
        end local 1 // java.lang.Class exceptionType
        end local 0 // com.google.common.util.concurrent.ListenableFuture input
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0          input  Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;
            0    1     1  exceptionType  Ljava/lang/Class<TX;>;
            0    1     2       fallback  Lcom/google/common/util/concurrent/AsyncFunction<-TX;+TV;>;
            0    1     3       executor  Ljava/util/concurrent/Executor;
    Signature: <V:Ljava/lang/Object;X:Ljava/lang/Throwable;>(Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;Ljava/lang/Class<TX;>;Lcom/google/common/util/concurrent/AsyncFunction<-TX;+TV;>;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
      com.google.common.util.concurrent.Partially$GwtIncompatible(value = "AVAILABLE but requires exceptionType to be Throwable.class")
    MethodParameters:
               Name  Flags
      input          
      exceptionType  
      fallback       
      executor       

  public static <V> com.google.common.util.concurrent.ListenableFuture<V> withTimeout(com.google.common.util.concurrent.ListenableFuture<V>, long, java.util.concurrent.TimeUnit, java.util.concurrent.ScheduledExecutorService);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ScheduledExecutorService;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.google.common.util.concurrent.ListenableFuture delegate
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit unit
        start local 4 // java.util.concurrent.ScheduledExecutorService scheduledExecutor
         0: .line 543
            aload 0 /* delegate */
            lload 1 /* time */
            aload 3 /* unit */
            aload 4 /* scheduledExecutor */
            invokestatic com.google.common.util.concurrent.TimeoutFuture.create:(Lcom/google/common/util/concurrent/ListenableFuture;JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ScheduledExecutorService;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 4 // java.util.concurrent.ScheduledExecutorService scheduledExecutor
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long time
        end local 0 // com.google.common.util.concurrent.ListenableFuture delegate
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0           delegate  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
            0    1     1               time  J
            0    1     3               unit  Ljava/util/concurrent/TimeUnit;
            0    1     4  scheduledExecutor  Ljava/util/concurrent/ScheduledExecutorService;
    Signature: <V:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<TV;>;JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ScheduledExecutorService;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
                   Name  Flags
      delegate           
      time               
      unit               
      scheduledExecutor  

  public static <I, O> com.google.common.util.concurrent.ListenableFuture<O> transformAsync(com.google.common.util.concurrent.ListenableFuture<I>, com.google.common.util.concurrent.AsyncFunction<? super I, ? extends O>);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.common.util.concurrent.ListenableFuture input
        start local 1 // com.google.common.util.concurrent.AsyncFunction function
         0: .line 591
            aload 0 /* input */
            aload 1 /* function */
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
            invokestatic com.google.common.util.concurrent.AbstractTransformFuture.create:(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 1 // com.google.common.util.concurrent.AsyncFunction function
        end local 0 // com.google.common.util.concurrent.ListenableFuture input
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0     input  Lcom/google/common/util/concurrent/ListenableFuture<TI;>;
            0    1     1  function  Lcom/google/common/util/concurrent/AsyncFunction<-TI;+TO;>;
    Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<TI;>;Lcom/google/common/util/concurrent/AsyncFunction<-TI;+TO;>;)Lcom/google/common/util/concurrent/ListenableFuture<TO;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.DoNotCall()
    MethodParameters:
          Name  Flags
      input     
      function  

  public static <I, O> com.google.common.util.concurrent.ListenableFuture<O> transformAsync(com.google.common.util.concurrent.ListenableFuture<I>, com.google.common.util.concurrent.AsyncFunction<? super I, ? extends O>, java.util.concurrent.Executor);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.util.concurrent.ListenableFuture input
        start local 1 // com.google.common.util.concurrent.AsyncFunction function
        start local 2 // java.util.concurrent.Executor executor
         0: .line 634
            aload 0 /* input */
            aload 1 /* function */
            aload 2 /* executor */
            invokestatic com.google.common.util.concurrent.AbstractTransformFuture.create:(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 2 // java.util.concurrent.Executor executor
        end local 1 // com.google.common.util.concurrent.AsyncFunction function
        end local 0 // com.google.common.util.concurrent.ListenableFuture input
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0     input  Lcom/google/common/util/concurrent/ListenableFuture<TI;>;
            0    1     1  function  Lcom/google/common/util/concurrent/AsyncFunction<-TI;+TO;>;
            0    1     2  executor  Ljava/util/concurrent/Executor;
    Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<TI;>;Lcom/google/common/util/concurrent/AsyncFunction<-TI;+TO;>;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture<TO;>;
    MethodParameters:
          Name  Flags
      input     
      function  
      executor  

  public static <I, O> com.google.common.util.concurrent.ListenableFuture<O> transform(com.google.common.util.concurrent.ListenableFuture<I>, com.google.common.base.Function<? super I, ? extends O>);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.common.util.concurrent.ListenableFuture input
        start local 1 // com.google.common.base.Function function
         0: .line 676
            aload 0 /* input */
            aload 1 /* function */
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
            invokestatic com.google.common.util.concurrent.AbstractTransformFuture.create:(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 1 // com.google.common.base.Function function
        end local 0 // com.google.common.util.concurrent.ListenableFuture input
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0     input  Lcom/google/common/util/concurrent/ListenableFuture<TI;>;
            0    1     1  function  Lcom/google/common/base/Function<-TI;+TO;>;
    Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<TI;>;Lcom/google/common/base/Function<-TI;+TO;>;)Lcom/google/common/util/concurrent/ListenableFuture<TO;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.DoNotCall()
    MethodParameters:
          Name  Flags
      input     
      function  

  public static <I, O> com.google.common.util.concurrent.ListenableFuture<O> transform(com.google.common.util.concurrent.ListenableFuture<I>, com.google.common.base.Function<? super I, ? extends O>, java.util.concurrent.Executor);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.util.concurrent.ListenableFuture input
        start local 1 // com.google.common.base.Function function
        start local 2 // java.util.concurrent.Executor executor
         0: .line 712
            aload 0 /* input */
            aload 1 /* function */
            aload 2 /* executor */
            invokestatic com.google.common.util.concurrent.AbstractTransformFuture.create:(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 2 // java.util.concurrent.Executor executor
        end local 1 // com.google.common.base.Function function
        end local 0 // com.google.common.util.concurrent.ListenableFuture input
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0     input  Lcom/google/common/util/concurrent/ListenableFuture<TI;>;
            0    1     1  function  Lcom/google/common/base/Function<-TI;+TO;>;
            0    1     2  executor  Ljava/util/concurrent/Executor;
    Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<TI;>;Lcom/google/common/base/Function<-TI;+TO;>;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture<TO;>;
    MethodParameters:
          Name  Flags
      input     
      function  
      executor  

  public static <I, O> java.util.concurrent.Future<O> lazyTransform(java.util.concurrent.Future<I>, com.google.common.base.Function<? super I, ? extends O>);
    descriptor: (Ljava/util/concurrent/Future;Lcom/google/common/base/Function;)Ljava/util/concurrent/Future;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.concurrent.Future input
        start local 1 // com.google.common.base.Function function
         0: .line 738
            aload 0 /* input */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 739
            aload 1 /* function */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 740
            new com.google.common.util.concurrent.Futures$2
            dup
            aload 0 /* input */
            aload 1 /* function */
            invokespecial com.google.common.util.concurrent.Futures$2.<init>:(Ljava/util/concurrent/Future;Lcom/google/common/base/Function;)V
            areturn
        end local 1 // com.google.common.base.Function function
        end local 0 // java.util.concurrent.Future input
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0     input  Ljava/util/concurrent/Future<TI;>;
            0    3     1  function  Lcom/google/common/base/Function<-TI;+TO;>;
    Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>(Ljava/util/concurrent/Future<TI;>;Lcom/google/common/base/Function<-TI;+TO;>;)Ljava/util/concurrent/Future<TO;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
          Name  Flags
      input     final
      function  final

  public static <V> com.google.common.util.concurrent.ListenableFuture<java.util.List<V>> allAsList(com.google.common.util.concurrent.ListenableFuture<? extends V>[]);
    descriptor: ([Lcom/google/common/util/concurrent/ListenableFuture;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.google.common.util.concurrent.ListenableFuture[] futures
         0: .line 794
            new com.google.common.util.concurrent.CollectionFuture$ListFuture
            dup
            aload 0 /* futures */
            invokestatic com.google.common.collect.ImmutableList.copyOf:([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
            iconst_1
            invokespecial com.google.common.util.concurrent.CollectionFuture$ListFuture.<init>:(Lcom/google/common/collect/ImmutableCollection;Z)V
            areturn
        end local 0 // com.google.common.util.concurrent.ListenableFuture[] futures
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  futures  [Lcom/google/common/util/concurrent/ListenableFuture;
    Signature: <V:Ljava/lang/Object;>([Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;)Lcom/google/common/util/concurrent/ListenableFuture<Ljava/util/List<TV;>;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
         Name  Flags
      futures  

  public static <V> com.google.common.util.concurrent.ListenableFuture<java.util.List<V>> allAsList(java.lang.Iterable<? extends com.google.common.util.concurrent.ListenableFuture<? extends V>>);
    descriptor: (Ljava/lang/Iterable;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Iterable futures
         0: .line 813
            new com.google.common.util.concurrent.CollectionFuture$ListFuture
            dup
            aload 0 /* futures */
            invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
            iconst_1
            invokespecial com.google.common.util.concurrent.CollectionFuture$ListFuture.<init>:(Lcom/google/common/collect/ImmutableCollection;Z)V
            areturn
        end local 0 // java.lang.Iterable futures
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  futures  Ljava/lang/Iterable<+Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;>;
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/Iterable<+Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;>;)Lcom/google/common/util/concurrent/ListenableFuture<Ljava/util/List<TV;>;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
         Name  Flags
      futures  

  public static <V> com.google.common.util.concurrent.Futures$FutureCombiner<V> whenAllComplete(com.google.common.util.concurrent.ListenableFuture<? extends V>[]);
    descriptor: ([Lcom/google/common/util/concurrent/ListenableFuture;)Lcom/google/common/util/concurrent/Futures$FutureCombiner;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.google.common.util.concurrent.ListenableFuture[] futures
         0: .line 824
            new com.google.common.util.concurrent.Futures$FutureCombiner
            dup
            iconst_0
            aload 0 /* futures */
            invokestatic com.google.common.collect.ImmutableList.copyOf:([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
            invokespecial com.google.common.util.concurrent.Futures$FutureCombiner.<init>:(ZLcom/google/common/collect/ImmutableList;)V
            areturn
        end local 0 // com.google.common.util.concurrent.ListenableFuture[] futures
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  futures  [Lcom/google/common/util/concurrent/ListenableFuture;
    Signature: <V:Ljava/lang/Object;>([Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;)Lcom/google/common/util/concurrent/Futures$FutureCombiner<TV;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
         Name  Flags
      futures  

  public static <V> com.google.common.util.concurrent.Futures$FutureCombiner<V> whenAllComplete(java.lang.Iterable<? extends com.google.common.util.concurrent.ListenableFuture<? extends V>>);
    descriptor: (Ljava/lang/Iterable;)Lcom/google/common/util/concurrent/Futures$FutureCombiner;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Iterable futures
         0: .line 835
            new com.google.common.util.concurrent.Futures$FutureCombiner
            dup
            iconst_0
            aload 0 /* futures */
            invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
            invokespecial com.google.common.util.concurrent.Futures$FutureCombiner.<init>:(ZLcom/google/common/collect/ImmutableList;)V
            areturn
        end local 0 // java.lang.Iterable futures
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  futures  Ljava/lang/Iterable<+Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;>;
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/Iterable<+Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;>;)Lcom/google/common/util/concurrent/Futures$FutureCombiner<TV;>;
    MethodParameters:
         Name  Flags
      futures  

  public static <V> com.google.common.util.concurrent.Futures$FutureCombiner<V> whenAllSucceed(com.google.common.util.concurrent.ListenableFuture<? extends V>[]);
    descriptor: ([Lcom/google/common/util/concurrent/ListenableFuture;)Lcom/google/common/util/concurrent/Futures$FutureCombiner;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.google.common.util.concurrent.ListenableFuture[] futures
         0: .line 847
            new com.google.common.util.concurrent.Futures$FutureCombiner
            dup
            iconst_1
            aload 0 /* futures */
            invokestatic com.google.common.collect.ImmutableList.copyOf:([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
            invokespecial com.google.common.util.concurrent.Futures$FutureCombiner.<init>:(ZLcom/google/common/collect/ImmutableList;)V
            areturn
        end local 0 // com.google.common.util.concurrent.ListenableFuture[] futures
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  futures  [Lcom/google/common/util/concurrent/ListenableFuture;
    Signature: <V:Ljava/lang/Object;>([Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;)Lcom/google/common/util/concurrent/Futures$FutureCombiner<TV;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
         Name  Flags
      futures  

  public static <V> com.google.common.util.concurrent.Futures$FutureCombiner<V> whenAllSucceed(java.lang.Iterable<? extends com.google.common.util.concurrent.ListenableFuture<? extends V>>);
    descriptor: (Ljava/lang/Iterable;)Lcom/google/common/util/concurrent/Futures$FutureCombiner;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Iterable futures
         0: .line 859
            new com.google.common.util.concurrent.Futures$FutureCombiner
            dup
            iconst_1
            aload 0 /* futures */
            invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
            invokespecial com.google.common.util.concurrent.Futures$FutureCombiner.<init>:(ZLcom/google/common/collect/ImmutableList;)V
            areturn
        end local 0 // java.lang.Iterable futures
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  futures  Ljava/lang/Iterable<+Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;>;
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/Iterable<+Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;>;)Lcom/google/common/util/concurrent/Futures$FutureCombiner<TV;>;
    MethodParameters:
         Name  Flags
      futures  

  public static <V> com.google.common.util.concurrent.ListenableFuture<V> nonCancellationPropagating(com.google.common.util.concurrent.ListenableFuture<V>);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.google.common.util.concurrent.ListenableFuture future
         0: .line 1004
            aload 0 /* future */
            invokeinterface com.google.common.util.concurrent.ListenableFuture.isDone:()Z
            ifeq 2
         1: .line 1005
            aload 0 /* future */
            areturn
         2: .line 1007
      StackMap locals:
      StackMap stack:
            new com.google.common.util.concurrent.Futures$NonCancellationPropagatingFuture
            dup
            aload 0 /* future */
            invokespecial com.google.common.util.concurrent.Futures$NonCancellationPropagatingFuture.<init>:(Lcom/google/common/util/concurrent/ListenableFuture;)V
            astore 1 /* output */
        start local 1 // com.google.common.util.concurrent.Futures$NonCancellationPropagatingFuture output
         3: .line 1008
            aload 0 /* future */
            aload 1 /* output */
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
            invokeinterface com.google.common.util.concurrent.ListenableFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
         4: .line 1009
            aload 1 /* output */
            areturn
        end local 1 // com.google.common.util.concurrent.Futures$NonCancellationPropagatingFuture output
        end local 0 // com.google.common.util.concurrent.ListenableFuture future
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  future  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
            3    5     1  output  Lcom/google/common/util/concurrent/Futures$NonCancellationPropagatingFuture<TV;>;
    Signature: <V:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<TV;>;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    MethodParameters:
        Name  Flags
      future  

  public static <V> com.google.common.util.concurrent.ListenableFuture<java.util.List<V>> successfulAsList(com.google.common.util.concurrent.ListenableFuture<? extends V>[]);
    descriptor: ([Lcom/google/common/util/concurrent/ListenableFuture;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.google.common.util.concurrent.ListenableFuture[] futures
         0: .line 1063
            new com.google.common.util.concurrent.CollectionFuture$ListFuture
            dup
            aload 0 /* futures */
            invokestatic com.google.common.collect.ImmutableList.copyOf:([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
            iconst_0
            invokespecial com.google.common.util.concurrent.CollectionFuture$ListFuture.<init>:(Lcom/google/common/collect/ImmutableCollection;Z)V
            areturn
        end local 0 // com.google.common.util.concurrent.ListenableFuture[] futures
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  futures  [Lcom/google/common/util/concurrent/ListenableFuture;
    Signature: <V:Ljava/lang/Object;>([Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;)Lcom/google/common/util/concurrent/ListenableFuture<Ljava/util/List<TV;>;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
         Name  Flags
      futures  

  public static <V> com.google.common.util.concurrent.ListenableFuture<java.util.List<V>> successfulAsList(java.lang.Iterable<? extends com.google.common.util.concurrent.ListenableFuture<? extends V>>);
    descriptor: (Ljava/lang/Iterable;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Iterable futures
         0: .line 1082
            new com.google.common.util.concurrent.CollectionFuture$ListFuture
            dup
            aload 0 /* futures */
            invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
            iconst_0
            invokespecial com.google.common.util.concurrent.CollectionFuture$ListFuture.<init>:(Lcom/google/common/collect/ImmutableCollection;Z)V
            areturn
        end local 0 // java.lang.Iterable futures
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  futures  Ljava/lang/Iterable<+Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;>;
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/Iterable<+Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;>;)Lcom/google/common/util/concurrent/ListenableFuture<Ljava/util/List<TV;>;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
         Name  Flags
      futures  

  public static <T> com.google.common.collect.ImmutableList<com.google.common.util.concurrent.ListenableFuture<T>> inCompletionOrder(java.lang.Iterable<? extends com.google.common.util.concurrent.ListenableFuture<? extends T>>);
    descriptor: (Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=1
        start local 0 // java.lang.Iterable futures
         0: .line 1111
            aload 0 /* futures */
            instanceof java.util.Collection
            ifeq 3
         1: .line 1112
            aload 0 /* futures */
            checkcast java.util.Collection
            astore 1 /* collection */
        start local 1 // java.util.Collection collection
         2: .line 1113
            goto 4
        end local 1 // java.util.Collection collection
         3: .line 1114
      StackMap locals:
      StackMap stack:
            aload 0 /* futures */
            invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
            astore 1 /* collection */
        start local 1 // java.util.Collection collection
         4: .line 1119
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 1 /* collection */
            aload 1 /* collection */
            invokeinterface java.util.Collection.size:()I
            anewarray com.google.common.util.concurrent.ListenableFuture
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.google.common.util.concurrent.ListenableFuture[]
         5: .line 1117
            astore 2 /* copy */
        start local 2 // com.google.common.util.concurrent.ListenableFuture[] copy
         6: .line 1120
            new com.google.common.util.concurrent.Futures$InCompletionOrderState
            dup
            aload 2 /* copy */
            invokespecial com.google.common.util.concurrent.Futures$InCompletionOrderState.<init>:([Lcom/google/common/util/concurrent/ListenableFuture;)V
            astore 3 /* state */
        start local 3 // com.google.common.util.concurrent.Futures$InCompletionOrderState state
         7: .line 1121
            invokestatic com.google.common.collect.ImmutableList.builder:()Lcom/google/common/collect/ImmutableList$Builder;
            astore 4 /* delegatesBuilder */
        start local 4 // com.google.common.collect.ImmutableList$Builder delegatesBuilder
         8: .line 1122
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 12
        10: .line 1123
      StackMap locals: java.lang.Iterable java.util.Collection com.google.common.util.concurrent.ListenableFuture[] com.google.common.util.concurrent.Futures$InCompletionOrderState com.google.common.collect.ImmutableList$Builder int
      StackMap stack:
            aload 4 /* delegatesBuilder */
            new com.google.common.util.concurrent.Futures$InCompletionOrderFuture
            dup
            aload 3 /* state */
            invokespecial com.google.common.util.concurrent.Futures$InCompletionOrderFuture.<init>:(Lcom/google/common/util/concurrent/Futures$InCompletionOrderState;)V
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            pop
        11: .line 1122
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            aload 2 /* copy */
            arraylength
            if_icmplt 10
        end local 5 // int i
        13: .line 1126
            aload 4 /* delegatesBuilder */
            invokevirtual com.google.common.collect.ImmutableList$Builder.build:()Lcom/google/common/collect/ImmutableList;
            astore 5 /* delegates */
        start local 5 // com.google.common.collect.ImmutableList delegates
        14: .line 1127
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 22
        16: .line 1128
      StackMap locals: java.lang.Iterable java.util.Collection com.google.common.util.concurrent.ListenableFuture[] com.google.common.util.concurrent.Futures$InCompletionOrderState com.google.common.collect.ImmutableList$Builder com.google.common.collect.ImmutableList int
      StackMap stack:
            iload 6 /* i */
            istore 7 /* localI */
        start local 7 // int localI
        17: .line 1129
            aload 2 /* copy */
            iload 6 /* i */
            aaload
        18: .line 1130
            new com.google.common.util.concurrent.Futures$3
            dup
            aload 3 /* state */
            aload 5 /* delegates */
            iload 7 /* localI */
            invokespecial com.google.common.util.concurrent.Futures$3.<init>:(Lcom/google/common/util/concurrent/Futures$InCompletionOrderState;Lcom/google/common/collect/ImmutableList;I)V
        19: .line 1136
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
        20: .line 1129
            invokeinterface com.google.common.util.concurrent.ListenableFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
        end local 7 // int localI
        21: .line 1127
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            aload 2 /* copy */
            arraylength
            if_icmplt 16
        end local 6 // int i
        23: .line 1140
            aload 5 /* delegates */
            astore 6 /* delegatesCast */
        start local 6 // com.google.common.collect.ImmutableList delegatesCast
        24: .line 1141
            aload 6 /* delegatesCast */
            areturn
        end local 6 // com.google.common.collect.ImmutableList delegatesCast
        end local 5 // com.google.common.collect.ImmutableList delegates
        end local 4 // com.google.common.collect.ImmutableList$Builder delegatesBuilder
        end local 3 // com.google.common.util.concurrent.Futures$InCompletionOrderState state
        end local 2 // com.google.common.util.concurrent.ListenableFuture[] copy
        end local 1 // java.util.Collection collection
        end local 0 // java.lang.Iterable futures
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0           futures  Ljava/lang/Iterable<+Lcom/google/common/util/concurrent/ListenableFuture<+TT;>;>;
            2    3     1        collection  Ljava/util/Collection<Lcom/google/common/util/concurrent/ListenableFuture<+TT;>;>;
            4   25     1        collection  Ljava/util/Collection<Lcom/google/common/util/concurrent/ListenableFuture<+TT;>;>;
            6   25     2              copy  [Lcom/google/common/util/concurrent/ListenableFuture;
            7   25     3             state  Lcom/google/common/util/concurrent/Futures$InCompletionOrderState<TT;>;
            8   25     4  delegatesBuilder  Lcom/google/common/collect/ImmutableList$Builder<Lcom/google/common/util/concurrent/AbstractFuture<TT;>;>;
            9   13     5                 i  I
           14   25     5         delegates  Lcom/google/common/collect/ImmutableList<Lcom/google/common/util/concurrent/AbstractFuture<TT;>;>;
           15   23     6                 i  I
           17   21     7            localI  I
           24   25     6     delegatesCast  Lcom/google/common/collect/ImmutableList<Lcom/google/common/util/concurrent/ListenableFuture<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<+Lcom/google/common/util/concurrent/ListenableFuture<+TT;>;>;)Lcom/google/common/collect/ImmutableList<Lcom/google/common/util/concurrent/ListenableFuture<TT;>;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
         Name  Flags
      futures  

  public static <V> void addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/FutureCallback;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.common.util.concurrent.ListenableFuture future
        start local 1 // com.google.common.util.concurrent.FutureCallback callback
         0: .line 1284
            aload 0 /* future */
            aload 1 /* callback */
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
            invokestatic com.google.common.util.concurrent.Futures.addCallback:(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/FutureCallback;Ljava/util/concurrent/Executor;)V
         1: .line 1285
            return
        end local 1 // com.google.common.util.concurrent.FutureCallback callback
        end local 0 // com.google.common.util.concurrent.ListenableFuture future
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0    future  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
            0    2     1  callback  Lcom/google/common/util/concurrent/FutureCallback<-TV;>;
    Signature: <V:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<TV;>;Lcom/google/common/util/concurrent/FutureCallback<-TV;>;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.DoNotCall()
    MethodParameters:
          Name  Flags
      future    
      callback  

  public static <V> void addCallback(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.util.concurrent.FutureCallback<? super V>, java.util.concurrent.Executor);
    descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/FutureCallback;Ljava/util/concurrent/Executor;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.google.common.util.concurrent.ListenableFuture future
        start local 1 // com.google.common.util.concurrent.FutureCallback callback
        start local 2 // java.util.concurrent.Executor executor
         0: .line 1329
            aload 1 /* callback */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1330
            aload 0 /* future */
            new com.google.common.util.concurrent.Futures$CallbackListener
            dup
            aload 0 /* future */
            aload 1 /* callback */
            invokespecial com.google.common.util.concurrent.Futures$CallbackListener.<init>:(Ljava/util/concurrent/Future;Lcom/google/common/util/concurrent/FutureCallback;)V
            aload 2 /* executor */
            invokeinterface com.google.common.util.concurrent.ListenableFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
         2: .line 1331
            return
        end local 2 // java.util.concurrent.Executor executor
        end local 1 // com.google.common.util.concurrent.FutureCallback callback
        end local 0 // com.google.common.util.concurrent.ListenableFuture future
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0    future  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
            0    3     1  callback  Lcom/google/common/util/concurrent/FutureCallback<-TV;>;
            0    3     2  executor  Ljava/util/concurrent/Executor;
    Signature: <V:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<TV;>;Lcom/google/common/util/concurrent/FutureCallback<-TV;>;Ljava/util/concurrent/Executor;)V
    MethodParameters:
          Name  Flags
      future    final
      callback  final
      executor  

  public static <V> V getDone(java.util.concurrent.Future<V>);
    descriptor: (Ljava/util/concurrent/Future;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.concurrent.Future future
         0: .line 1397
            aload 0 /* future */
            invokeinterface java.util.concurrent.Future.isDone:()Z
            ldc "Future was expected to be done: %s"
            aload 0 /* future */
            invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/String;Ljava/lang/Object;)V
         1: .line 1398
            aload 0 /* future */
            invokestatic com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
            areturn
        end local 0 // java.util.concurrent.Future future
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  future  Ljava/util/concurrent/Future<TV;>;
    Exceptions:
      throws java.util.concurrent.ExecutionException
    Signature: <V:Ljava/lang/Object;>(Ljava/util/concurrent/Future<TV;>;)TV;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
        Name  Flags
      future  

  public static <V, X extends java.lang.Exception> V getChecked(java.util.concurrent.Future<V>, java.lang.Class<X>) throws X;
    descriptor: (Ljava/util/concurrent/Future;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.Future future
        start local 1 // java.lang.Class exceptionClass
         0: .line 1447
            aload 0 /* future */
            aload 1 /* exceptionClass */
            invokestatic com.google.common.util.concurrent.FuturesGetChecked.getChecked:(Ljava/util/concurrent/Future;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class exceptionClass
        end local 0 // java.util.concurrent.Future future
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0          future  Ljava/util/concurrent/Future<TV;>;
            0    1     1  exceptionClass  Ljava/lang/Class<TX;>;
    Exceptions:
      throws java.lang.Exception
    Signature: <V:Ljava/lang/Object;X:Ljava/lang/Exception;>(Ljava/util/concurrent/Future<TV;>;Ljava/lang/Class<TX;>;)TV;^TX;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
                Name  Flags
      future          
      exceptionClass  

  public static <V, X extends java.lang.Exception> V getChecked(java.util.concurrent.Future<V>, java.lang.Class<X>, long, java.util.concurrent.TimeUnit) throws X;
    descriptor: (Ljava/util/concurrent/Future;Ljava/lang/Class;JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.util.concurrent.Future future
        start local 1 // java.lang.Class exceptionClass
        start local 2 // long timeout
        start local 4 // java.util.concurrent.TimeUnit unit
         0: .line 1497
            aload 0 /* future */
            aload 1 /* exceptionClass */
            lload 2 /* timeout */
            aload 4 /* unit */
            invokestatic com.google.common.util.concurrent.FuturesGetChecked.getChecked:(Ljava/util/concurrent/Future;Ljava/lang/Class;JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
            areturn
        end local 4 // java.util.concurrent.TimeUnit unit
        end local 2 // long timeout
        end local 1 // java.lang.Class exceptionClass
        end local 0 // java.util.concurrent.Future future
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0          future  Ljava/util/concurrent/Future<TV;>;
            0    1     1  exceptionClass  Ljava/lang/Class<TX;>;
            0    1     2         timeout  J
            0    1     4            unit  Ljava/util/concurrent/TimeUnit;
    Exceptions:
      throws java.lang.Exception
    Signature: <V:Ljava/lang/Object;X:Ljava/lang/Exception;>(Ljava/util/concurrent/Future<TV;>;Ljava/lang/Class<TX;>;JLjava/util/concurrent/TimeUnit;)TV;^TX;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
                Name  Flags
      future          
      exceptionClass  
      timeout         
      unit            

  public static <V> V getUnchecked(java.util.concurrent.Future<V>);
    descriptor: (Ljava/util/concurrent/Future;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.concurrent.Future future
         0: .line 1536
            aload 0 /* future */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1538
            aload 0 /* future */
            invokestatic com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
         2: areturn
         3: .line 1539
      StackMap locals:
      StackMap stack: java.util.concurrent.ExecutionException
            astore 1 /* e */
        start local 1 // java.util.concurrent.ExecutionException e
         4: .line 1540
            aload 1 /* e */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            invokestatic com.google.common.util.concurrent.Futures.wrapAndThrowUnchecked:(Ljava/lang/Throwable;)V
         5: .line 1541
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 1 // java.util.concurrent.ExecutionException e
        end local 0 // java.util.concurrent.Future future
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  future  Ljava/util/concurrent/Future<TV;>;
            4    6     1       e  Ljava/util/concurrent/ExecutionException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.util.concurrent.ExecutionException
    Signature: <V:Ljava/lang/Object;>(Ljava/util/concurrent/Future<TV;>;)TV;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
        Name  Flags
      future  

  private static void wrapAndThrowUnchecked(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Throwable cause
         0: .line 1546
            aload 0 /* cause */
            instanceof java.lang.Error
            ifeq 2
         1: .line 1547
            new com.google.common.util.concurrent.ExecutionError
            dup
            aload 0 /* cause */
            checkcast java.lang.Error
            invokespecial com.google.common.util.concurrent.ExecutionError.<init>:(Ljava/lang/Error;)V
            athrow
         2: .line 1554
      StackMap locals:
      StackMap stack:
            new com.google.common.util.concurrent.UncheckedExecutionException
            dup
            aload 0 /* cause */
            invokespecial com.google.common.util.concurrent.UncheckedExecutionException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Throwable cause
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      cause  
}
SourceFile: "Futures.java"
NestMembers:
  com.google.common.util.concurrent.Futures$1  com.google.common.util.concurrent.Futures$2  com.google.common.util.concurrent.Futures$3  com.google.common.util.concurrent.Futures$CallbackListener  com.google.common.util.concurrent.Futures$FutureCombiner  com.google.common.util.concurrent.Futures$FutureCombiner$1  com.google.common.util.concurrent.Futures$InCompletionOrderFuture  com.google.common.util.concurrent.Futures$InCompletionOrderState  com.google.common.util.concurrent.Futures$MappingCheckedFuture  com.google.common.util.concurrent.Futures$NonCancellationPropagatingFuture
InnerClasses:
  public final Builder = com.google.common.collect.ImmutableList$Builder of com.google.common.collect.ImmutableList
  final ListFuture = com.google.common.util.concurrent.CollectionFuture$ListFuture of com.google.common.util.concurrent.CollectionFuture
  com.google.common.util.concurrent.Futures$1
  com.google.common.util.concurrent.Futures$2
  com.google.common.util.concurrent.Futures$3
  private final CallbackListener = com.google.common.util.concurrent.Futures$CallbackListener of com.google.common.util.concurrent.Futures
  public final FutureCombiner = com.google.common.util.concurrent.Futures$FutureCombiner of com.google.common.util.concurrent.Futures
  private final InCompletionOrderFuture = com.google.common.util.concurrent.Futures$InCompletionOrderFuture of com.google.common.util.concurrent.Futures
  private final InCompletionOrderState = com.google.common.util.concurrent.Futures$InCompletionOrderState of com.google.common.util.concurrent.Futures
  private MappingCheckedFuture = com.google.common.util.concurrent.Futures$MappingCheckedFuture of com.google.common.util.concurrent.Futures
  private final NonCancellationPropagatingFuture = com.google.common.util.concurrent.Futures$NonCancellationPropagatingFuture of com.google.common.util.concurrent.Futures
  final ImmediateCancelledFuture = com.google.common.util.concurrent.ImmediateFuture$ImmediateCancelledFuture of com.google.common.util.concurrent.ImmediateFuture
  ImmediateFailedCheckedFuture = com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedCheckedFuture of com.google.common.util.concurrent.ImmediateFuture
  final ImmediateFailedFuture = com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedFuture of com.google.common.util.concurrent.ImmediateFuture
  ImmediateSuccessfulCheckedFuture = com.google.common.util.concurrent.ImmediateFuture$ImmediateSuccessfulCheckedFuture of com.google.common.util.concurrent.ImmediateFuture
  ImmediateSuccessfulFuture = com.google.common.util.concurrent.ImmediateFuture$ImmediateSuccessfulFuture of com.google.common.util.concurrent.ImmediateFuture
  abstract GwtIncompatible = com.google.common.util.concurrent.Partially$GwtIncompatible of com.google.common.util.concurrent.Partially
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
      com.google.common.annotations.GwtCompatible(emulated = true)