final class com.google.common.util.concurrent.CollectionFuture$ListFuture<V> extends com.google.common.util.concurrent.CollectionFuture<V, java.util.List<V>>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.common.util.concurrent.CollectionFuture$ListFuture
  super_class: com.google.common.util.concurrent.CollectionFuture
{
  void <init>(com.google.common.collect.ImmutableCollection<? extends com.google.common.util.concurrent.ListenableFuture<? extends V>>, );
    descriptor: (Lcom/google/common/collect/ImmutableCollection;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.util.concurrent.CollectionFuture$ListFuture this
        start local 1 // com.google.common.collect.ImmutableCollection futures
        start local 2 // boolean allMustSucceed
         0: .line 86
            aload 0 /* this */
            aload 1 /* futures */
            iload 2 /* allMustSucceed */
            invokespecial com.google.common.util.concurrent.CollectionFuture.<init>:(Lcom/google/common/collect/ImmutableCollection;Z)V
         1: .line 87
            aload 0 /* this */
            invokevirtual com.google.common.util.concurrent.CollectionFuture$ListFuture.init:()V
         2: .line 88
            return
        end local 2 // boolean allMustSucceed
        end local 1 // com.google.common.collect.ImmutableCollection futures
        end local 0 // com.google.common.util.concurrent.CollectionFuture$ListFuture this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lcom/google/common/util/concurrent/CollectionFuture$ListFuture<TV;>;
            0    3     1         futures  Lcom/google/common/collect/ImmutableCollection<+Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;>;
            0    3     2  allMustSucceed  Z
    Signature: (Lcom/google/common/collect/ImmutableCollection<+Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;>;Z)V
    MethodParameters:
                Name  Flags
      futures         
      allMustSucceed  

  public java.util.List<V> combine(java.util.List<com.google.common.util.concurrent.CollectionFuture$Present<V>>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.google.common.util.concurrent.CollectionFuture$ListFuture this
        start local 1 // java.util.List values
         0: .line 92
            aload 1 /* values */
            invokeinterface java.util.List.size:()I
            invokestatic com.google.common.collect.Lists.newArrayListWithCapacity:(I)Ljava/util/ArrayList;
            astore 2 /* result */
        start local 2 // java.util.List result
         1: .line 93
            aload 1 /* values */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: com.google.common.util.concurrent.CollectionFuture$ListFuture java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.google.common.util.concurrent.CollectionFuture$Present
            astore 3 /* element */
        start local 3 // com.google.common.util.concurrent.CollectionFuture$Present element
         3: .line 94
            aload 2 /* result */
            aload 3 /* element */
            ifnull 4
            aload 3 /* element */
            getfield com.google.common.util.concurrent.CollectionFuture$Present.value:Ljava/lang/Object;
            goto 5
      StackMap locals: com.google.common.util.concurrent.CollectionFuture$ListFuture java.util.List java.util.List com.google.common.util.concurrent.CollectionFuture$Present java.util.Iterator
      StackMap stack: java.util.List
         4: aconst_null
      StackMap locals: com.google.common.util.concurrent.CollectionFuture$ListFuture java.util.List java.util.List com.google.common.util.concurrent.CollectionFuture$Present java.util.Iterator
      StackMap stack: java.util.List java.lang.Object
         5: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // com.google.common.util.concurrent.CollectionFuture$Present element
         6: .line 93
      StackMap locals: com.google.common.util.concurrent.CollectionFuture$ListFuture java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 96
            aload 2 /* result */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 2 // java.util.List result
        end local 1 // java.util.List values
        end local 0 // com.google.common.util.concurrent.CollectionFuture$ListFuture this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lcom/google/common/util/concurrent/CollectionFuture$ListFuture<TV;>;
            0    8     1   values  Ljava/util/List<Lcom/google/common/util/concurrent/CollectionFuture$Present<TV;>;>;
            1    8     2   result  Ljava/util/List<TV;>;
            3    6     3  element  Lcom/google/common/util/concurrent/CollectionFuture$Present<TV;>;
    Signature: (Ljava/util/List<Lcom/google/common/util/concurrent/CollectionFuture$Present<TV;>;>;)Ljava/util/List<TV;>;
    MethodParameters:
        Name  Flags
      values  

  public java.lang.Object combine(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/lang/Object;
    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.List
            invokevirtual com.google.common.util.concurrent.CollectionFuture$ListFuture.combine:(Ljava/util/List;)Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <V:Ljava/lang/Object;>Lcom/google/common/util/concurrent/CollectionFuture<TV;Ljava/util/List<TV;>;>;
SourceFile: "CollectionFuture.java"
NestHost: com.google.common.util.concurrent.CollectionFuture
InnerClasses:
  final ListFuture = com.google.common.util.concurrent.CollectionFuture$ListFuture of com.google.common.util.concurrent.CollectionFuture
  private final Present = com.google.common.util.concurrent.CollectionFuture$Present of com.google.common.util.concurrent.CollectionFuture