public final class com.google.common.collect.Streams
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.collect.Streams
  super_class: java.lang.Object
{
  public static <T> java.util.stream.Stream<T> stream(java.lang.Iterable<T>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Iterable iterable
         0: .line 62
            aload 0 /* iterable */
            instanceof java.util.Collection
            ifeq 2
         1: .line 63
            aload 0 /* iterable */
            checkcast java.util.Collection
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            goto 3
         2: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* iterable */
            invokeinterface java.lang.Iterable.spliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
         3: .line 62
      StackMap locals:
      StackMap stack: java.util.stream.Stream
            areturn
        end local 0 // java.lang.Iterable iterable
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  iterable  Ljava/lang/Iterable<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
          Name  Flags
      iterable  

  public static <T> java.util.stream.Stream<T> stream(java.util.Collection<T>);
    descriptor: (Ljava/util/Collection;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Collection collection
         0: .line 75
            aload 0 /* collection */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            areturn
        end local 0 // java.util.Collection collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  collection  Ljava/util/Collection<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;)Ljava/util/stream/Stream<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
            Name  Flags
      collection  

  public static <T> java.util.stream.Stream<T> stream(java.util.Iterator<T>);
    descriptor: (Ljava/util/Iterator;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Iterator iterator
         0: .line 84
            aload 0 /* iterator */
            iconst_0
            invokestatic java.util.Spliterators.spliteratorUnknownSize:(Ljava/util/Iterator;I)Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            areturn
        end local 0 // java.util.Iterator iterator
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  iterator  Ljava/util/Iterator<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Iterator<TT;>;)Ljava/util/stream/Stream<TT;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      iterator  

  public static <T> java.util.stream.Stream<T> stream(com.google.common.base.Optional<T>);
    descriptor: (Lcom/google/common/base/Optional;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.base.Optional optional
         0: .line 93
            aload 0 /* optional */
            invokevirtual com.google.common.base.Optional.isPresent:()Z
            ifeq 1
            aload 0 /* optional */
            invokevirtual com.google.common.base.Optional.get:()Ljava/lang/Object;
            invokestatic java.util.stream.Stream.of:(Ljava/lang/Object;)Ljava/util/stream/Stream;
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic java.util.stream.Stream.empty:()Ljava/util/stream/Stream;
      StackMap locals:
      StackMap stack: java.util.stream.Stream
         2: areturn
        end local 0 // com.google.common.base.Optional optional
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  optional  Lcom/google/common/base/Optional<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lcom/google/common/base/Optional<TT;>;)Ljava/util/stream/Stream<TT;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      optional  

  public static <T> java.util.stream.Stream<T> stream(java.util.Optional<T>);
    descriptor: (Ljava/util/Optional;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Optional optional
         0: .line 104
            aload 0 /* optional */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 1
            aload 0 /* optional */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            invokestatic java.util.stream.Stream.of:(Ljava/lang/Object;)Ljava/util/stream/Stream;
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic java.util.stream.Stream.empty:()Ljava/util/stream/Stream;
      StackMap locals:
      StackMap stack: java.util.stream.Stream
         2: areturn
        end local 0 // java.util.Optional optional
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  optional  Ljava/util/Optional<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Optional<TT;>;)Ljava/util/stream/Stream<TT;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      optional  

  public static java.util.stream.IntStream stream(java.util.OptionalInt);
    descriptor: (Ljava/util/OptionalInt;)Ljava/util/stream/IntStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.OptionalInt optional
         0: .line 115
            aload 0 /* optional */
            invokevirtual java.util.OptionalInt.isPresent:()Z
            ifeq 1
            aload 0 /* optional */
            invokevirtual java.util.OptionalInt.getAsInt:()I
            invokestatic java.util.stream.IntStream.of:(I)Ljava/util/stream/IntStream;
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic java.util.stream.IntStream.empty:()Ljava/util/stream/IntStream;
      StackMap locals:
      StackMap stack: java.util.stream.IntStream
         2: areturn
        end local 0 // java.util.OptionalInt optional
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  optional  Ljava/util/OptionalInt;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      optional  

  public static java.util.stream.LongStream stream(java.util.OptionalLong);
    descriptor: (Ljava/util/OptionalLong;)Ljava/util/stream/LongStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.OptionalLong optional
         0: .line 126
            aload 0 /* optional */
            invokevirtual java.util.OptionalLong.isPresent:()Z
            ifeq 1
            aload 0 /* optional */
            invokevirtual java.util.OptionalLong.getAsLong:()J
            invokestatic java.util.stream.LongStream.of:(J)Ljava/util/stream/LongStream;
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic java.util.stream.LongStream.empty:()Ljava/util/stream/LongStream;
      StackMap locals:
      StackMap stack: java.util.stream.LongStream
         2: areturn
        end local 0 // java.util.OptionalLong optional
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  optional  Ljava/util/OptionalLong;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      optional  

  public static java.util.stream.DoubleStream stream(java.util.OptionalDouble);
    descriptor: (Ljava/util/OptionalDouble;)Ljava/util/stream/DoubleStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.OptionalDouble optional
         0: .line 137
            aload 0 /* optional */
            invokevirtual java.util.OptionalDouble.isPresent:()Z
            ifeq 1
            aload 0 /* optional */
            invokevirtual java.util.OptionalDouble.getAsDouble:()D
            invokestatic java.util.stream.DoubleStream.of:(D)Ljava/util/stream/DoubleStream;
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic java.util.stream.DoubleStream.empty:()Ljava/util/stream/DoubleStream;
      StackMap locals:
      StackMap stack: java.util.stream.DoubleStream
         2: areturn
        end local 0 // java.util.OptionalDouble optional
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  optional  Ljava/util/OptionalDouble;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      optional  

  private static void closeAll(java.util.stream.BaseStream<?, ?>[]);
    descriptor: ([Ljava/util/stream/BaseStream;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.util.stream.BaseStream[] toClose
         0: .line 141
            aload 0 /* toClose */
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 4
      StackMap locals: java.util.stream.BaseStream[] top int int java.util.stream.BaseStream[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* stream */
        start local 1 // java.util.stream.BaseStream stream
         2: .line 143
            aload 1 /* stream */
            invokeinterface java.util.stream.BaseStream.close:()V
        end local 1 // java.util.stream.BaseStream stream
         3: .line 141
            iinc 2 1
      StackMap locals:
      StackMap stack:
         4: iload 2
            iload 3
            if_icmplt 1
         5: .line 145
            return
        end local 0 // java.util.stream.BaseStream[] toClose
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  toClose  [Ljava/util/stream/BaseStream;
            2    3     1   stream  Ljava/util/stream/BaseStream<**>;
    Signature: ([Ljava/util/stream/BaseStream<**>;)V
    MethodParameters:
         Name  Flags
      toClose  

  public static <T> java.util.stream.Stream<T> concat(java.util.stream.Stream<? extends T>[]);
    descriptor: ([Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // java.util.stream.Stream[] streams
         0: .line 159
            iconst_0
            istore 1 /* isParallel */
        start local 1 // boolean isParallel
         1: .line 160
            sipush 336
            istore 2 /* characteristics */
        start local 2 // int characteristics
         2: .line 161
            lconst_0
            lstore 3 /* estimatedSize */
        start local 3 // long estimatedSize
         3: .line 163
            new com.google.common.collect.ImmutableList$Builder
            dup
            aload 0 /* streams */
            arraylength
            invokespecial com.google.common.collect.ImmutableList$Builder.<init>:(I)V
         4: .line 162
            astore 5 /* splitrsBuilder */
        start local 5 // com.google.common.collect.ImmutableList$Builder splitrsBuilder
         5: .line 164
            aload 0 /* streams */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 13
      StackMap locals: java.util.stream.Stream[] int int long com.google.common.collect.ImmutableList$Builder top int int java.util.stream.Stream[]
      StackMap stack:
         6: aload 9
            iload 7
            aaload
            astore 6 /* stream */
        start local 6 // java.util.stream.Stream stream
         7: .line 165
            iload 1 /* isParallel */
            aload 6 /* stream */
            invokeinterface java.util.stream.Stream.isParallel:()Z
            ior
            istore 1 /* isParallel */
         8: .line 166
            aload 6 /* stream */
            invokeinterface java.util.stream.Stream.spliterator:()Ljava/util/Spliterator;
            astore 10 /* splitr */
        start local 10 // java.util.Spliterator splitr
         9: .line 167
            aload 5 /* splitrsBuilder */
            aload 10 /* splitr */
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            pop
        10: .line 168
            iload 2 /* characteristics */
            aload 10 /* splitr */
            invokeinterface java.util.Spliterator.characteristics:()I
            iand
            istore 2 /* characteristics */
        11: .line 169
            lload 3 /* estimatedSize */
            aload 10 /* splitr */
            invokeinterface java.util.Spliterator.estimateSize:()J
            invokestatic com.google.common.math.LongMath.saturatedAdd:(JJ)J
            lstore 3 /* estimatedSize */
        end local 10 // java.util.Spliterator splitr
        end local 6 // java.util.stream.Stream stream
        12: .line 164
            iinc 7 1
      StackMap locals:
      StackMap stack:
        13: iload 7
            iload 8
            if_icmplt 6
        14: .line 173
            aload 5 /* splitrsBuilder */
            invokevirtual com.google.common.collect.ImmutableList$Builder.build:()Lcom/google/common/collect/ImmutableList;
            invokevirtual com.google.common.collect.ImmutableList.spliterator:()Ljava/util/Spliterator;
        15: .line 174
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/google/common/collect/Streams.lambda$0(Ljava/util/Spliterator;)Ljava/util/Spliterator; (6)
                  (Ljava/util/Spliterator;)Ljava/util/Spliterator;
        16: .line 175
            iload 2 /* characteristics */
        17: .line 176
            lload 3 /* estimatedSize */
        18: .line 172
            invokestatic com.google.common.collect.CollectSpliterators.flatMap:(Ljava/util/Spliterator;Ljava/util/function/Function;IJ)Ljava/util/Spliterator;
        19: .line 177
            iload 1 /* isParallel */
        20: .line 171
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
        21: .line 178
            aload 0 /* streams */
            invokedynamic run([Ljava/util/stream/Stream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  com/google/common/collect/Streams.lambda$1([Ljava/util/stream/Stream;)V (6)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
        22: .line 171
            areturn
        end local 5 // com.google.common.collect.ImmutableList$Builder splitrsBuilder
        end local 3 // long estimatedSize
        end local 2 // int characteristics
        end local 1 // boolean isParallel
        end local 0 // java.util.stream.Stream[] streams
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0          streams  [Ljava/util/stream/Stream;
            1   23     1       isParallel  Z
            2   23     2  characteristics  I
            3   23     3    estimatedSize  J
            5   23     5   splitrsBuilder  Lcom/google/common/collect/ImmutableList$Builder<Ljava/util/Spliterator<+TT;>;>;
            7   12     6           stream  Ljava/util/stream/Stream<+TT;>;
            9   12    10           splitr  Ljava/util/Spliterator<+TT;>;
    Signature: <T:Ljava/lang/Object;>([Ljava/util/stream/Stream<+TT;>;)Ljava/util/stream/Stream<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
         Name  Flags
      streams  

  public static java.util.stream.IntStream concat(java.util.stream.IntStream[]);
    descriptor: ([Ljava/util/stream/IntStream;)Ljava/util/stream/IntStream;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // java.util.stream.IntStream[] streams
         0: .line 191
            iconst_0
            istore 1 /* isParallel */
        start local 1 // boolean isParallel
         1: .line 192
            sipush 336
            istore 2 /* characteristics */
        start local 2 // int characteristics
         2: .line 193
            lconst_0
            lstore 3 /* estimatedSize */
        start local 3 // long estimatedSize
         3: .line 195
            new com.google.common.collect.ImmutableList$Builder
            dup
            aload 0 /* streams */
            arraylength
            invokespecial com.google.common.collect.ImmutableList$Builder.<init>:(I)V
         4: .line 194
            astore 5 /* splitrsBuilder */
        start local 5 // com.google.common.collect.ImmutableList$Builder splitrsBuilder
         5: .line 196
            aload 0 /* streams */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 13
      StackMap locals: java.util.stream.IntStream[] int int long com.google.common.collect.ImmutableList$Builder top int int java.util.stream.IntStream[]
      StackMap stack:
         6: aload 9
            iload 7
            aaload
            astore 6 /* stream */
        start local 6 // java.util.stream.IntStream stream
         7: .line 197
            iload 1 /* isParallel */
            aload 6 /* stream */
            invokeinterface java.util.stream.IntStream.isParallel:()Z
            ior
            istore 1 /* isParallel */
         8: .line 198
            aload 6 /* stream */
            invokeinterface java.util.stream.IntStream.spliterator:()Ljava/util/Spliterator$OfInt;
            astore 10 /* splitr */
        start local 10 // java.util.Spliterator$OfInt splitr
         9: .line 199
            aload 5 /* splitrsBuilder */
            aload 10 /* splitr */
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            pop
        10: .line 200
            iload 2 /* characteristics */
            aload 10 /* splitr */
            invokeinterface java.util.Spliterator$OfInt.characteristics:()I
            iand
            istore 2 /* characteristics */
        11: .line 201
            lload 3 /* estimatedSize */
            aload 10 /* splitr */
            invokeinterface java.util.Spliterator$OfInt.estimateSize:()J
            invokestatic com.google.common.math.LongMath.saturatedAdd:(JJ)J
            lstore 3 /* estimatedSize */
        end local 10 // java.util.Spliterator$OfInt splitr
        end local 6 // java.util.stream.IntStream stream
        12: .line 196
            iinc 7 1
      StackMap locals:
      StackMap stack:
        13: iload 7
            iload 8
            if_icmplt 6
        14: .line 205
            aload 5 /* splitrsBuilder */
            invokevirtual com.google.common.collect.ImmutableList$Builder.build:()Lcom/google/common/collect/ImmutableList;
            invokevirtual com.google.common.collect.ImmutableList.spliterator:()Ljava/util/Spliterator;
        15: .line 206
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/google/common/collect/Streams.lambda$2(Ljava/util/Spliterator$OfInt;)Ljava/util/Spliterator$OfInt; (6)
                  (Ljava/util/Spliterator$OfInt;)Ljava/util/Spliterator$OfInt;
        16: .line 207
            iload 2 /* characteristics */
        17: .line 208
            lload 3 /* estimatedSize */
        18: .line 204
            invokestatic com.google.common.collect.CollectSpliterators.flatMapToInt:(Ljava/util/Spliterator;Ljava/util/function/Function;IJ)Ljava/util/Spliterator$OfInt;
        19: .line 209
            iload 1 /* isParallel */
        20: .line 203
            invokestatic java.util.stream.StreamSupport.intStream:(Ljava/util/Spliterator$OfInt;Z)Ljava/util/stream/IntStream;
        21: .line 210
            aload 0 /* streams */
            invokedynamic run([Ljava/util/stream/IntStream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  com/google/common/collect/Streams.lambda$3([Ljava/util/stream/IntStream;)V (6)
                  ()V
            invokeinterface java.util.stream.IntStream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.IntStream
        22: .line 203
            areturn
        end local 5 // com.google.common.collect.ImmutableList$Builder splitrsBuilder
        end local 3 // long estimatedSize
        end local 2 // int characteristics
        end local 1 // boolean isParallel
        end local 0 // java.util.stream.IntStream[] streams
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0          streams  [Ljava/util/stream/IntStream;
            1   23     1       isParallel  Z
            2   23     2  characteristics  I
            3   23     3    estimatedSize  J
            5   23     5   splitrsBuilder  Lcom/google/common/collect/ImmutableList$Builder<Ljava/util/Spliterator$OfInt;>;
            7   12     6           stream  Ljava/util/stream/IntStream;
            9   12    10           splitr  Ljava/util/Spliterator$OfInt;
    MethodParameters:
         Name  Flags
      streams  

  public static java.util.stream.LongStream concat(java.util.stream.LongStream[]);
    descriptor: ([Ljava/util/stream/LongStream;)Ljava/util/stream/LongStream;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // java.util.stream.LongStream[] streams
         0: .line 223
            iconst_0
            istore 1 /* isParallel */
        start local 1 // boolean isParallel
         1: .line 224
            sipush 336
            istore 2 /* characteristics */
        start local 2 // int characteristics
         2: .line 225
            lconst_0
            lstore 3 /* estimatedSize */
        start local 3 // long estimatedSize
         3: .line 227
            new com.google.common.collect.ImmutableList$Builder
            dup
            aload 0 /* streams */
            arraylength
            invokespecial com.google.common.collect.ImmutableList$Builder.<init>:(I)V
         4: .line 226
            astore 5 /* splitrsBuilder */
        start local 5 // com.google.common.collect.ImmutableList$Builder splitrsBuilder
         5: .line 228
            aload 0 /* streams */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 13
      StackMap locals: java.util.stream.LongStream[] int int long com.google.common.collect.ImmutableList$Builder top int int java.util.stream.LongStream[]
      StackMap stack:
         6: aload 9
            iload 7
            aaload
            astore 6 /* stream */
        start local 6 // java.util.stream.LongStream stream
         7: .line 229
            iload 1 /* isParallel */
            aload 6 /* stream */
            invokeinterface java.util.stream.LongStream.isParallel:()Z
            ior
            istore 1 /* isParallel */
         8: .line 230
            aload 6 /* stream */
            invokeinterface java.util.stream.LongStream.spliterator:()Ljava/util/Spliterator$OfLong;
            astore 10 /* splitr */
        start local 10 // java.util.Spliterator$OfLong splitr
         9: .line 231
            aload 5 /* splitrsBuilder */
            aload 10 /* splitr */
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            pop
        10: .line 232
            iload 2 /* characteristics */
            aload 10 /* splitr */
            invokeinterface java.util.Spliterator$OfLong.characteristics:()I
            iand
            istore 2 /* characteristics */
        11: .line 233
            lload 3 /* estimatedSize */
            aload 10 /* splitr */
            invokeinterface java.util.Spliterator$OfLong.estimateSize:()J
            invokestatic com.google.common.math.LongMath.saturatedAdd:(JJ)J
            lstore 3 /* estimatedSize */
        end local 10 // java.util.Spliterator$OfLong splitr
        end local 6 // java.util.stream.LongStream stream
        12: .line 228
            iinc 7 1
      StackMap locals:
      StackMap stack:
        13: iload 7
            iload 8
            if_icmplt 6
        14: .line 237
            aload 5 /* splitrsBuilder */
            invokevirtual com.google.common.collect.ImmutableList$Builder.build:()Lcom/google/common/collect/ImmutableList;
            invokevirtual com.google.common.collect.ImmutableList.spliterator:()Ljava/util/Spliterator;
        15: .line 238
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/google/common/collect/Streams.lambda$4(Ljava/util/Spliterator$OfLong;)Ljava/util/Spliterator$OfLong; (6)
                  (Ljava/util/Spliterator$OfLong;)Ljava/util/Spliterator$OfLong;
        16: .line 239
            iload 2 /* characteristics */
        17: .line 240
            lload 3 /* estimatedSize */
        18: .line 236
            invokestatic com.google.common.collect.CollectSpliterators.flatMapToLong:(Ljava/util/Spliterator;Ljava/util/function/Function;IJ)Ljava/util/Spliterator$OfLong;
        19: .line 241
            iload 1 /* isParallel */
        20: .line 235
            invokestatic java.util.stream.StreamSupport.longStream:(Ljava/util/Spliterator$OfLong;Z)Ljava/util/stream/LongStream;
        21: .line 242
            aload 0 /* streams */
            invokedynamic run([Ljava/util/stream/LongStream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  com/google/common/collect/Streams.lambda$5([Ljava/util/stream/LongStream;)V (6)
                  ()V
            invokeinterface java.util.stream.LongStream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.LongStream
        22: .line 235
            areturn
        end local 5 // com.google.common.collect.ImmutableList$Builder splitrsBuilder
        end local 3 // long estimatedSize
        end local 2 // int characteristics
        end local 1 // boolean isParallel
        end local 0 // java.util.stream.LongStream[] streams
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0          streams  [Ljava/util/stream/LongStream;
            1   23     1       isParallel  Z
            2   23     2  characteristics  I
            3   23     3    estimatedSize  J
            5   23     5   splitrsBuilder  Lcom/google/common/collect/ImmutableList$Builder<Ljava/util/Spliterator$OfLong;>;
            7   12     6           stream  Ljava/util/stream/LongStream;
            9   12    10           splitr  Ljava/util/Spliterator$OfLong;
    MethodParameters:
         Name  Flags
      streams  

  public static java.util.stream.DoubleStream concat(java.util.stream.DoubleStream[]);
    descriptor: ([Ljava/util/stream/DoubleStream;)Ljava/util/stream/DoubleStream;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // java.util.stream.DoubleStream[] streams
         0: .line 255
            iconst_0
            istore 1 /* isParallel */
        start local 1 // boolean isParallel
         1: .line 256
            sipush 336
            istore 2 /* characteristics */
        start local 2 // int characteristics
         2: .line 257
            lconst_0
            lstore 3 /* estimatedSize */
        start local 3 // long estimatedSize
         3: .line 259
            new com.google.common.collect.ImmutableList$Builder
            dup
            aload 0 /* streams */
            arraylength
            invokespecial com.google.common.collect.ImmutableList$Builder.<init>:(I)V
         4: .line 258
            astore 5 /* splitrsBuilder */
        start local 5 // com.google.common.collect.ImmutableList$Builder splitrsBuilder
         5: .line 260
            aload 0 /* streams */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 13
      StackMap locals: java.util.stream.DoubleStream[] int int long com.google.common.collect.ImmutableList$Builder top int int java.util.stream.DoubleStream[]
      StackMap stack:
         6: aload 9
            iload 7
            aaload
            astore 6 /* stream */
        start local 6 // java.util.stream.DoubleStream stream
         7: .line 261
            iload 1 /* isParallel */
            aload 6 /* stream */
            invokeinterface java.util.stream.DoubleStream.isParallel:()Z
            ior
            istore 1 /* isParallel */
         8: .line 262
            aload 6 /* stream */
            invokeinterface java.util.stream.DoubleStream.spliterator:()Ljava/util/Spliterator$OfDouble;
            astore 10 /* splitr */
        start local 10 // java.util.Spliterator$OfDouble splitr
         9: .line 263
            aload 5 /* splitrsBuilder */
            aload 10 /* splitr */
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            pop
        10: .line 264
            iload 2 /* characteristics */
            aload 10 /* splitr */
            invokeinterface java.util.Spliterator$OfDouble.characteristics:()I
            iand
            istore 2 /* characteristics */
        11: .line 265
            lload 3 /* estimatedSize */
            aload 10 /* splitr */
            invokeinterface java.util.Spliterator$OfDouble.estimateSize:()J
            invokestatic com.google.common.math.LongMath.saturatedAdd:(JJ)J
            lstore 3 /* estimatedSize */
        end local 10 // java.util.Spliterator$OfDouble splitr
        end local 6 // java.util.stream.DoubleStream stream
        12: .line 260
            iinc 7 1
      StackMap locals:
      StackMap stack:
        13: iload 7
            iload 8
            if_icmplt 6
        14: .line 269
            aload 5 /* splitrsBuilder */
            invokevirtual com.google.common.collect.ImmutableList$Builder.build:()Lcom/google/common/collect/ImmutableList;
            invokevirtual com.google.common.collect.ImmutableList.spliterator:()Ljava/util/Spliterator;
        15: .line 270
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/google/common/collect/Streams.lambda$6(Ljava/util/Spliterator$OfDouble;)Ljava/util/Spliterator$OfDouble; (6)
                  (Ljava/util/Spliterator$OfDouble;)Ljava/util/Spliterator$OfDouble;
        16: .line 271
            iload 2 /* characteristics */
        17: .line 272
            lload 3 /* estimatedSize */
        18: .line 268
            invokestatic com.google.common.collect.CollectSpliterators.flatMapToDouble:(Ljava/util/Spliterator;Ljava/util/function/Function;IJ)Ljava/util/Spliterator$OfDouble;
        19: .line 273
            iload 1 /* isParallel */
        20: .line 267
            invokestatic java.util.stream.StreamSupport.doubleStream:(Ljava/util/Spliterator$OfDouble;Z)Ljava/util/stream/DoubleStream;
        21: .line 274
            aload 0 /* streams */
            invokedynamic run([Ljava/util/stream/DoubleStream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  com/google/common/collect/Streams.lambda$7([Ljava/util/stream/DoubleStream;)V (6)
                  ()V
            invokeinterface java.util.stream.DoubleStream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.DoubleStream
        22: .line 267
            areturn
        end local 5 // com.google.common.collect.ImmutableList$Builder splitrsBuilder
        end local 3 // long estimatedSize
        end local 2 // int characteristics
        end local 1 // boolean isParallel
        end local 0 // java.util.stream.DoubleStream[] streams
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0          streams  [Ljava/util/stream/DoubleStream;
            1   23     1       isParallel  Z
            2   23     2  characteristics  I
            3   23     3    estimatedSize  J
            5   23     5   splitrsBuilder  Lcom/google/common/collect/ImmutableList$Builder<Ljava/util/Spliterator$OfDouble;>;
            7   12     6           stream  Ljava/util/stream/DoubleStream;
            9   12    10           splitr  Ljava/util/Spliterator$OfDouble;
    MethodParameters:
         Name  Flags
      streams  

  public static <A, B, R> java.util.stream.Stream<R> zip(java.util.stream.Stream<A>, java.util.stream.Stream<B>, java.util.function.BiFunction<? super A, ? super B, R>);
    descriptor: (Ljava/util/stream/Stream;Ljava/util/stream/Stream;Ljava/util/function/BiFunction;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=3
        start local 0 // java.util.stream.Stream streamA
        start local 1 // java.util.stream.Stream streamB
        start local 2 // java.util.function.BiFunction function
         0: .line 305
            aload 0 /* streamA */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 306
            aload 1 /* streamB */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 307
            aload 2 /* function */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 308
            aload 0 /* streamA */
            invokeinterface java.util.stream.Stream.isParallel:()Z
            ifne 4
            aload 1 /* streamB */
            invokeinterface java.util.stream.Stream.isParallel:()Z
            ifne 4
            iconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* isParallel */
        start local 3 // boolean isParallel
         6: .line 309
            aload 0 /* streamA */
            invokeinterface java.util.stream.Stream.spliterator:()Ljava/util/Spliterator;
            astore 4 /* splitrA */
        start local 4 // java.util.Spliterator splitrA
         7: .line 310
            aload 1 /* streamB */
            invokeinterface java.util.stream.Stream.spliterator:()Ljava/util/Spliterator;
            astore 5 /* splitrB */
        start local 5 // java.util.Spliterator splitrB
         8: .line 312
            aload 4 /* splitrA */
            invokeinterface java.util.Spliterator.characteristics:()I
         9: .line 313
            aload 5 /* splitrB */
            invokeinterface java.util.Spliterator.characteristics:()I
        10: .line 312
            iand
        11: .line 314
            bipush 80
        12: .line 312
            iand
        13: .line 311
            istore 6 /* characteristics */
        start local 6 // int characteristics
        14: .line 315
            aload 4 /* splitrA */
            invokestatic java.util.Spliterators.iterator:(Ljava/util/Spliterator;)Ljava/util/Iterator;
            astore 7 /* itrA */
        start local 7 // java.util.Iterator itrA
        15: .line 316
            aload 5 /* splitrB */
            invokestatic java.util.Spliterators.iterator:(Ljava/util/Spliterator;)Ljava/util/Iterator;
            astore 8 /* itrB */
        start local 8 // java.util.Iterator itrB
        16: .line 318
            new com.google.common.collect.Streams$1
            dup
        17: .line 319
            aload 4 /* splitrA */
            invokeinterface java.util.Spliterator.estimateSize:()J
            aload 5 /* splitrB */
            invokeinterface java.util.Spliterator.estimateSize:()J
            invokestatic java.lang.Math.min:(JJ)J
            iload 6 /* characteristics */
        18: .line 318
            aload 7 /* itrA */
            aload 8 /* itrB */
            aload 2 /* function */
            invokespecial com.google.common.collect.Streams$1.<init>:(JILjava/util/Iterator;Ljava/util/Iterator;Ljava/util/function/BiFunction;)V
        19: .line 329
            iload 3 /* isParallel */
        20: .line 317
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
        21: .line 330
            aload 0 /* streamA */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/util/stream/Stream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  java/util/stream/BaseStream.close()V (9 itf)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
        22: .line 331
            aload 1 /* streamB */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/util/stream/Stream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  java/util/stream/BaseStream.close()V (9 itf)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
        23: .line 317
            areturn
        end local 8 // java.util.Iterator itrB
        end local 7 // java.util.Iterator itrA
        end local 6 // int characteristics
        end local 5 // java.util.Spliterator splitrB
        end local 4 // java.util.Spliterator splitrA
        end local 3 // boolean isParallel
        end local 2 // java.util.function.BiFunction function
        end local 1 // java.util.stream.Stream streamB
        end local 0 // java.util.stream.Stream streamA
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0          streamA  Ljava/util/stream/Stream<TA;>;
            0   24     1          streamB  Ljava/util/stream/Stream<TB;>;
            0   24     2         function  Ljava/util/function/BiFunction<-TA;-TB;TR;>;
            6   24     3       isParallel  Z
            7   24     4          splitrA  Ljava/util/Spliterator<TA;>;
            8   24     5          splitrB  Ljava/util/Spliterator<TB;>;
           14   24     6  characteristics  I
           15   24     7             itrA  Ljava/util/Iterator<TA;>;
           16   24     8             itrB  Ljava/util/Iterator<TB;>;
    Signature: <A:Ljava/lang/Object;B:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/util/stream/Stream<TA;>;Ljava/util/stream/Stream<TB;>;Ljava/util/function/BiFunction<-TA;-TB;TR;>;)Ljava/util/stream/Stream<TR;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      streamA   
      streamB   
      function  

  public static <A, B> void forEachPair(java.util.stream.Stream<A>, java.util.stream.Stream<B>, java.util.function.BiConsumer<? super A, ? super B>);
    descriptor: (Ljava/util/stream/Stream;Ljava/util/stream/Stream;Ljava/util/function/BiConsumer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.util.stream.Stream streamA
        start local 1 // java.util.stream.Stream streamB
        start local 2 // java.util.function.BiConsumer consumer
         0: .line 367
            aload 2 /* consumer */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 369
            aload 0 /* streamA */
            invokeinterface java.util.stream.Stream.isParallel:()Z
            ifne 2
            aload 1 /* streamB */
            invokeinterface java.util.stream.Stream.isParallel:()Z
            ifeq 4
         2: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* streamA */
            aload 1 /* streamB */
            invokedynamic apply()Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  com/google/common/collect/Streams$TemporaryPair.<init>(Ljava/lang/Object;Ljava/lang/Object;)V (8)
                  (Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/Streams$TemporaryPair;
            invokestatic com.google.common.collect.Streams.zip:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;Ljava/util/function/BiFunction;)Ljava/util/stream/Stream;
            aload 2 /* consumer */
            invokedynamic accept(Ljava/util/function/BiConsumer;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/google/common/collect/Streams.lambda$11(Ljava/util/function/BiConsumer;Lcom/google/common/collect/Streams$TemporaryPair;)V (6)
                  (Lcom/google/common/collect/Streams$TemporaryPair;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         3: .line 371
            goto 9
         4: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* streamA */
            invokeinterface java.util.stream.Stream.iterator:()Ljava/util/Iterator;
            astore 3 /* iterA */
        start local 3 // java.util.Iterator iterA
         5: .line 373
            aload 1 /* streamB */
            invokeinterface java.util.stream.Stream.iterator:()Ljava/util/Iterator;
            astore 4 /* iterB */
        start local 4 // java.util.Iterator iterB
         6: .line 374
            goto 8
         7: .line 375
      StackMap locals: java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 2 /* consumer */
            aload 3 /* iterA */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            aload 4 /* iterB */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 374
      StackMap locals:
      StackMap stack:
            aload 3 /* iterA */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 9
            aload 4 /* iterB */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 4 // java.util.Iterator iterB
        end local 3 // java.util.Iterator iterA
         9: .line 378
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.function.BiConsumer consumer
        end local 1 // java.util.stream.Stream streamB
        end local 0 // java.util.stream.Stream streamA
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0   streamA  Ljava/util/stream/Stream<TA;>;
            0   10     1   streamB  Ljava/util/stream/Stream<TB;>;
            0   10     2  consumer  Ljava/util/function/BiConsumer<-TA;-TB;>;
            5    9     3     iterA  Ljava/util/Iterator<TA;>;
            6    9     4     iterB  Ljava/util/Iterator<TB;>;
    Signature: <A:Ljava/lang/Object;B:Ljava/lang/Object;>(Ljava/util/stream/Stream<TA;>;Ljava/util/stream/Stream<TB;>;Ljava/util/function/BiConsumer<-TA;-TB;>;)V
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      streamA   
      streamB   
      consumer  

  public static <T, R> java.util.stream.Stream<R> mapWithIndex(java.util.stream.Stream<T>, com.google.common.collect.Streams$FunctionWithIndex<? super T, ? extends R>);
    descriptor: (Ljava/util/stream/Stream;Lcom/google/common/collect/Streams$FunctionWithIndex;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // java.util.stream.Stream stream
        start local 1 // com.google.common.collect.Streams$FunctionWithIndex function
         0: .line 416
            aload 0 /* stream */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 417
            aload 1 /* function */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 418
            aload 0 /* stream */
            invokeinterface java.util.stream.Stream.isParallel:()Z
            istore 2 /* isParallel */
        start local 2 // boolean isParallel
         3: .line 419
            aload 0 /* stream */
            invokeinterface java.util.stream.Stream.spliterator:()Ljava/util/Spliterator;
            astore 3 /* fromSpliterator */
        start local 3 // java.util.Spliterator fromSpliterator
         4: .line 421
            aload 3 /* fromSpliterator */
            sipush 16384
            invokeinterface java.util.Spliterator.hasCharacteristics:(I)Z
            ifne 14
         5: .line 422
            aload 3 /* fromSpliterator */
            invokestatic java.util.Spliterators.iterator:(Ljava/util/Spliterator;)Ljava/util/Iterator;
            astore 4 /* fromIterator */
        start local 4 // java.util.Iterator fromIterator
         6: .line 424
            new com.google.common.collect.Streams$2
            dup
         7: .line 425
            aload 3 /* fromSpliterator */
            invokeinterface java.util.Spliterator.estimateSize:()J
         8: .line 426
            aload 3 /* fromSpliterator */
            invokeinterface java.util.Spliterator.characteristics:()I
            bipush 80
            iand
         9: .line 424
            aload 4 /* fromIterator */
            aload 1 /* function */
            invokespecial com.google.common.collect.Streams$2.<init>:(JILjava/util/Iterator;Lcom/google/common/collect/Streams$FunctionWithIndex;)V
        10: .line 438
            iload 2 /* isParallel */
        11: .line 423
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
        12: .line 439
            aload 0 /* stream */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/util/stream/Stream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  java/util/stream/BaseStream.close()V (9 itf)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
        13: .line 423
            areturn
        end local 4 // java.util.Iterator fromIterator
        14: .line 471
      StackMap locals: int java.util.Spliterator
      StackMap stack:
            new com.google.common.collect.Streams$1Splitr
            dup
            aload 3 /* fromSpliterator */
            lconst_0
            aload 1 /* function */
            invokespecial com.google.common.collect.Streams$1Splitr.<init>:(Ljava/util/Spliterator;JLcom/google/common/collect/Streams$FunctionWithIndex;)V
            iload 2 /* isParallel */
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            aload 0 /* stream */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/util/stream/Stream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  java/util/stream/BaseStream.close()V (9 itf)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
            areturn
        end local 3 // java.util.Spliterator fromSpliterator
        end local 2 // boolean isParallel
        end local 1 // com.google.common.collect.Streams$FunctionWithIndex function
        end local 0 // java.util.stream.Stream stream
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0           stream  Ljava/util/stream/Stream<TT;>;
            0   15     1         function  Lcom/google/common/collect/Streams$FunctionWithIndex<-TT;+TR;>;
            3   15     2       isParallel  Z
            4   15     3  fromSpliterator  Ljava/util/Spliterator<TT;>;
            6   14     4     fromIterator  Ljava/util/Iterator<TT;>;
    Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/util/stream/Stream<TT;>;Lcom/google/common/collect/Streams$FunctionWithIndex<-TT;+TR;>;)Ljava/util/stream/Stream<TR;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      stream    
      function  

  public static <R> java.util.stream.Stream<R> mapWithIndex(java.util.stream.IntStream, com.google.common.collect.Streams$IntFunctionWithIndex<R>);
    descriptor: (Ljava/util/stream/IntStream;Lcom/google/common/collect/Streams$IntFunctionWithIndex;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // java.util.stream.IntStream stream
        start local 1 // com.google.common.collect.Streams$IntFunctionWithIndex function
         0: .line 498
            aload 0 /* stream */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 499
            aload 1 /* function */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 500
            aload 0 /* stream */
            invokeinterface java.util.stream.IntStream.isParallel:()Z
            istore 2 /* isParallel */
        start local 2 // boolean isParallel
         3: .line 501
            aload 0 /* stream */
            invokeinterface java.util.stream.IntStream.spliterator:()Ljava/util/Spliterator$OfInt;
            astore 3 /* fromSpliterator */
        start local 3 // java.util.Spliterator$OfInt fromSpliterator
         4: .line 503
            aload 3 /* fromSpliterator */
            sipush 16384
            invokeinterface java.util.Spliterator$OfInt.hasCharacteristics:(I)Z
            ifne 14
         5: .line 504
            aload 3 /* fromSpliterator */
            invokestatic java.util.Spliterators.iterator:(Ljava/util/Spliterator$OfInt;)Ljava/util/PrimitiveIterator$OfInt;
            astore 4 /* fromIterator */
        start local 4 // java.util.PrimitiveIterator$OfInt fromIterator
         6: .line 506
            new com.google.common.collect.Streams$3
            dup
         7: .line 507
            aload 3 /* fromSpliterator */
            invokeinterface java.util.Spliterator$OfInt.estimateSize:()J
         8: .line 508
            aload 3 /* fromSpliterator */
            invokeinterface java.util.Spliterator$OfInt.characteristics:()I
            bipush 80
            iand
         9: .line 506
            aload 4 /* fromIterator */
            aload 1 /* function */
            invokespecial com.google.common.collect.Streams$3.<init>:(JILjava/util/PrimitiveIterator$OfInt;Lcom/google/common/collect/Streams$IntFunctionWithIndex;)V
        10: .line 520
            iload 2 /* isParallel */
        11: .line 505
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
        12: .line 521
            aload 0 /* stream */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/util/stream/IntStream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  java/util/stream/BaseStream.close()V (9 itf)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
        13: .line 505
            areturn
        end local 4 // java.util.PrimitiveIterator$OfInt fromIterator
        14: .line 550
      StackMap locals: int java.util.Spliterator$OfInt
      StackMap stack:
            new com.google.common.collect.Streams$2Splitr
            dup
            aload 3 /* fromSpliterator */
            lconst_0
            aload 1 /* function */
            invokespecial com.google.common.collect.Streams$2Splitr.<init>:(Ljava/util/Spliterator$OfInt;JLcom/google/common/collect/Streams$IntFunctionWithIndex;)V
            iload 2 /* isParallel */
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            aload 0 /* stream */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/util/stream/IntStream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  java/util/stream/BaseStream.close()V (9 itf)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
            areturn
        end local 3 // java.util.Spliterator$OfInt fromSpliterator
        end local 2 // boolean isParallel
        end local 1 // com.google.common.collect.Streams$IntFunctionWithIndex function
        end local 0 // java.util.stream.IntStream stream
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0           stream  Ljava/util/stream/IntStream;
            0   15     1         function  Lcom/google/common/collect/Streams$IntFunctionWithIndex<TR;>;
            3   15     2       isParallel  Z
            4   15     3  fromSpliterator  Ljava/util/Spliterator$OfInt;
            6   14     4     fromIterator  Ljava/util/PrimitiveIterator$OfInt;
    Signature: <R:Ljava/lang/Object;>(Ljava/util/stream/IntStream;Lcom/google/common/collect/Streams$IntFunctionWithIndex<TR;>;)Ljava/util/stream/Stream<TR;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      stream    
      function  

  public static <R> java.util.stream.Stream<R> mapWithIndex(java.util.stream.LongStream, com.google.common.collect.Streams$LongFunctionWithIndex<R>);
    descriptor: (Ljava/util/stream/LongStream;Lcom/google/common/collect/Streams$LongFunctionWithIndex;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // java.util.stream.LongStream stream
        start local 1 // com.google.common.collect.Streams$LongFunctionWithIndex function
         0: .line 577
            aload 0 /* stream */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 578
            aload 1 /* function */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 579
            aload 0 /* stream */
            invokeinterface java.util.stream.LongStream.isParallel:()Z
            istore 2 /* isParallel */
        start local 2 // boolean isParallel
         3: .line 580
            aload 0 /* stream */
            invokeinterface java.util.stream.LongStream.spliterator:()Ljava/util/Spliterator$OfLong;
            astore 3 /* fromSpliterator */
        start local 3 // java.util.Spliterator$OfLong fromSpliterator
         4: .line 582
            aload 3 /* fromSpliterator */
            sipush 16384
            invokeinterface java.util.Spliterator$OfLong.hasCharacteristics:(I)Z
            ifne 14
         5: .line 583
            aload 3 /* fromSpliterator */
            invokestatic java.util.Spliterators.iterator:(Ljava/util/Spliterator$OfLong;)Ljava/util/PrimitiveIterator$OfLong;
            astore 4 /* fromIterator */
        start local 4 // java.util.PrimitiveIterator$OfLong fromIterator
         6: .line 585
            new com.google.common.collect.Streams$4
            dup
         7: .line 586
            aload 3 /* fromSpliterator */
            invokeinterface java.util.Spliterator$OfLong.estimateSize:()J
         8: .line 587
            aload 3 /* fromSpliterator */
            invokeinterface java.util.Spliterator$OfLong.characteristics:()I
            bipush 80
            iand
         9: .line 585
            aload 4 /* fromIterator */
            aload 1 /* function */
            invokespecial com.google.common.collect.Streams$4.<init>:(JILjava/util/PrimitiveIterator$OfLong;Lcom/google/common/collect/Streams$LongFunctionWithIndex;)V
        10: .line 599
            iload 2 /* isParallel */
        11: .line 584
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
        12: .line 600
            aload 0 /* stream */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/util/stream/LongStream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  java/util/stream/BaseStream.close()V (9 itf)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
        13: .line 584
            areturn
        end local 4 // java.util.PrimitiveIterator$OfLong fromIterator
        14: .line 629
      StackMap locals: int java.util.Spliterator$OfLong
      StackMap stack:
            new com.google.common.collect.Streams$3Splitr
            dup
            aload 3 /* fromSpliterator */
            lconst_0
            aload 1 /* function */
            invokespecial com.google.common.collect.Streams$3Splitr.<init>:(Ljava/util/Spliterator$OfLong;JLcom/google/common/collect/Streams$LongFunctionWithIndex;)V
            iload 2 /* isParallel */
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            aload 0 /* stream */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/util/stream/LongStream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  java/util/stream/BaseStream.close()V (9 itf)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
            areturn
        end local 3 // java.util.Spliterator$OfLong fromSpliterator
        end local 2 // boolean isParallel
        end local 1 // com.google.common.collect.Streams$LongFunctionWithIndex function
        end local 0 // java.util.stream.LongStream stream
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0           stream  Ljava/util/stream/LongStream;
            0   15     1         function  Lcom/google/common/collect/Streams$LongFunctionWithIndex<TR;>;
            3   15     2       isParallel  Z
            4   15     3  fromSpliterator  Ljava/util/Spliterator$OfLong;
            6   14     4     fromIterator  Ljava/util/PrimitiveIterator$OfLong;
    Signature: <R:Ljava/lang/Object;>(Ljava/util/stream/LongStream;Lcom/google/common/collect/Streams$LongFunctionWithIndex<TR;>;)Ljava/util/stream/Stream<TR;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      stream    
      function  

  public static <R> java.util.stream.Stream<R> mapWithIndex(java.util.stream.DoubleStream, com.google.common.collect.Streams$DoubleFunctionWithIndex<R>);
    descriptor: (Ljava/util/stream/DoubleStream;Lcom/google/common/collect/Streams$DoubleFunctionWithIndex;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // java.util.stream.DoubleStream stream
        start local 1 // com.google.common.collect.Streams$DoubleFunctionWithIndex function
         0: .line 657
            aload 0 /* stream */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 658
            aload 1 /* function */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 659
            aload 0 /* stream */
            invokeinterface java.util.stream.DoubleStream.isParallel:()Z
            istore 2 /* isParallel */
        start local 2 // boolean isParallel
         3: .line 660
            aload 0 /* stream */
            invokeinterface java.util.stream.DoubleStream.spliterator:()Ljava/util/Spliterator$OfDouble;
            astore 3 /* fromSpliterator */
        start local 3 // java.util.Spliterator$OfDouble fromSpliterator
         4: .line 662
            aload 3 /* fromSpliterator */
            sipush 16384
            invokeinterface java.util.Spliterator$OfDouble.hasCharacteristics:(I)Z
            ifne 14
         5: .line 663
            aload 3 /* fromSpliterator */
            invokestatic java.util.Spliterators.iterator:(Ljava/util/Spliterator$OfDouble;)Ljava/util/PrimitiveIterator$OfDouble;
            astore 4 /* fromIterator */
        start local 4 // java.util.PrimitiveIterator$OfDouble fromIterator
         6: .line 665
            new com.google.common.collect.Streams$5
            dup
         7: .line 666
            aload 3 /* fromSpliterator */
            invokeinterface java.util.Spliterator$OfDouble.estimateSize:()J
         8: .line 667
            aload 3 /* fromSpliterator */
            invokeinterface java.util.Spliterator$OfDouble.characteristics:()I
            bipush 80
            iand
         9: .line 665
            aload 4 /* fromIterator */
            aload 1 /* function */
            invokespecial com.google.common.collect.Streams$5.<init>:(JILjava/util/PrimitiveIterator$OfDouble;Lcom/google/common/collect/Streams$DoubleFunctionWithIndex;)V
        10: .line 679
            iload 2 /* isParallel */
        11: .line 664
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
        12: .line 680
            aload 0 /* stream */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/util/stream/DoubleStream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  java/util/stream/BaseStream.close()V (9 itf)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
        13: .line 664
            areturn
        end local 4 // java.util.PrimitiveIterator$OfDouble fromIterator
        14: .line 709
      StackMap locals: int java.util.Spliterator$OfDouble
      StackMap stack:
            new com.google.common.collect.Streams$4Splitr
            dup
            aload 3 /* fromSpliterator */
            lconst_0
            aload 1 /* function */
            invokespecial com.google.common.collect.Streams$4Splitr.<init>:(Ljava/util/Spliterator$OfDouble;JLcom/google/common/collect/Streams$DoubleFunctionWithIndex;)V
            iload 2 /* isParallel */
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            aload 0 /* stream */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/util/stream/DoubleStream;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  java/util/stream/BaseStream.close()V (9 itf)
                  ()V
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
            areturn
        end local 3 // java.util.Spliterator$OfDouble fromSpliterator
        end local 2 // boolean isParallel
        end local 1 // com.google.common.collect.Streams$DoubleFunctionWithIndex function
        end local 0 // java.util.stream.DoubleStream stream
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0           stream  Ljava/util/stream/DoubleStream;
            0   15     1         function  Lcom/google/common/collect/Streams$DoubleFunctionWithIndex<TR;>;
            3   15     2       isParallel  Z
            4   15     3  fromSpliterator  Ljava/util/Spliterator$OfDouble;
            6   14     4     fromIterator  Ljava/util/PrimitiveIterator$OfDouble;
    Signature: <R:Ljava/lang/Object;>(Ljava/util/stream/DoubleStream;Lcom/google/common/collect/Streams$DoubleFunctionWithIndex<TR;>;)Ljava/util/stream/Stream<TR;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
          Name  Flags
      stream    
      function  

  public static <T> java.util.Optional<T> findLast(java.util.stream.Stream<T>);
    descriptor: (Ljava/util/stream/Stream;)Ljava/util/Optional;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.util.stream.Stream stream
         0: .line 836
            new com.google.common.collect.Streams$1OptionalState
            dup
            invokespecial com.google.common.collect.Streams$1OptionalState.<init>:()V
            astore 1 /* state */
        start local 1 // com.google.common.collect.Streams$1OptionalState state
         1: .line 838
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            astore 2 /* splits */
        start local 2 // java.util.Deque splits
         2: .line 839
            aload 2 /* splits */
            aload 0 /* stream */
            invokeinterface java.util.stream.Stream.spliterator:()Ljava/util/Spliterator;
            invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
         3: .line 841
            goto 22
         4: .line 842
      StackMap locals: com.google.common.collect.Streams$1OptionalState java.util.Deque
      StackMap stack:
            aload 2 /* splits */
            invokeinterface java.util.Deque.removeLast:()Ljava/lang/Object;
            checkcast java.util.Spliterator
            astore 3 /* spliterator */
        start local 3 // java.util.Spliterator spliterator
         5: .line 844
            aload 3 /* spliterator */
            invokeinterface java.util.Spliterator.getExactSizeIfKnown:()J
            lconst_0
            lcmp
            ifne 7
         6: .line 845
            goto 22
         7: .line 850
      StackMap locals: java.util.Spliterator
      StackMap stack:
            aload 3 /* spliterator */
            sipush 16384
            invokeinterface java.util.Spliterator.hasCharacteristics:(I)Z
            ifeq 15
         8: .line 853
      StackMap locals:
      StackMap stack:
            aload 3 /* spliterator */
            invokeinterface java.util.Spliterator.trySplit:()Ljava/util/Spliterator;
            astore 4 /* prefix */
        start local 4 // java.util.Spliterator prefix
         9: .line 854
            aload 4 /* prefix */
            ifnull 13
            aload 4 /* prefix */
            invokeinterface java.util.Spliterator.getExactSizeIfKnown:()J
            lconst_0
            lcmp
            ifne 11
        10: .line 855
            goto 13
        11: .line 856
      StackMap locals: java.util.Spliterator
      StackMap stack:
            aload 3 /* spliterator */
            invokeinterface java.util.Spliterator.getExactSizeIfKnown:()J
            lconst_0
            lcmp
            ifne 8
        12: .line 857
            aload 4 /* prefix */
            astore 3 /* spliterator */
        end local 4 // java.util.Spliterator prefix
        13: .line 863
      StackMap locals:
      StackMap stack:
            aload 3 /* spliterator */
            aload 1 /* state */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lcom/google/common/collect/Streams$1OptionalState;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/google/common/collect/Streams$1OptionalState.set(Ljava/lang/Object;)V (5)
                  (Ljava/lang/Object;)V
            invokeinterface java.util.Spliterator.forEachRemaining:(Ljava/util/function/Consumer;)V
        14: .line 864
            aload 1 /* state */
            invokevirtual com.google.common.collect.Streams$1OptionalState.get:()Ljava/lang/Object;
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        15: .line 867
      StackMap locals:
      StackMap stack:
            aload 3 /* spliterator */
            invokeinterface java.util.Spliterator.trySplit:()Ljava/util/Spliterator;
            astore 5 /* prefix */
        start local 5 // java.util.Spliterator prefix
        16: .line 868
            aload 5 /* prefix */
            ifnull 17
            aload 5 /* prefix */
            invokeinterface java.util.Spliterator.getExactSizeIfKnown:()J
            lconst_0
            lcmp
            ifne 20
        17: .line 870
      StackMap locals: java.util.stream.Stream com.google.common.collect.Streams$1OptionalState java.util.Deque java.util.Spliterator top java.util.Spliterator
      StackMap stack:
            aload 3 /* spliterator */
            aload 1 /* state */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lcom/google/common/collect/Streams$1OptionalState;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/google/common/collect/Streams$1OptionalState.set(Ljava/lang/Object;)V (5)
                  (Ljava/lang/Object;)V
            invokeinterface java.util.Spliterator.forEachRemaining:(Ljava/util/function/Consumer;)V
        18: .line 871
            aload 1 /* state */
            getfield com.google.common.collect.Streams$1OptionalState.set:Z
            ifeq 22
        19: .line 872
            aload 1 /* state */
            invokevirtual com.google.common.collect.Streams$1OptionalState.get:()Ljava/lang/Object;
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        20: .line 877
      StackMap locals:
      StackMap stack:
            aload 2 /* splits */
            aload 5 /* prefix */
            invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
        21: .line 878
            aload 2 /* splits */
            aload 3 /* spliterator */
            invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
        end local 5 // java.util.Spliterator prefix
        end local 3 // java.util.Spliterator spliterator
        22: .line 841
      StackMap locals: java.util.stream.Stream com.google.common.collect.Streams$1OptionalState java.util.Deque
      StackMap stack:
            aload 2 /* splits */
            invokeinterface java.util.Deque.isEmpty:()Z
            ifeq 4
        23: .line 880
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
        end local 2 // java.util.Deque splits
        end local 1 // com.google.common.collect.Streams$1OptionalState state
        end local 0 // java.util.stream.Stream stream
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0       stream  Ljava/util/stream/Stream<TT;>;
            1   24     1        state  Lcom/google/common/collect/Streams$1OptionalState;
            2   24     2       splits  Ljava/util/Deque<Ljava/util/Spliterator<TT;>;>;
            5   22     3  spliterator  Ljava/util/Spliterator<TT;>;
            9   13     4       prefix  Ljava/util/Spliterator<TT;>;
           16   22     5       prefix  Ljava/util/Spliterator<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/stream/Stream<TT;>;)Ljava/util/Optional<TT;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
        Name  Flags
      stream  

  public static java.util.OptionalInt findLast(java.util.stream.IntStream);
    descriptor: (Ljava/util/stream/IntStream;)Ljava/util/OptionalInt;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.util.stream.IntStream stream
         0: .line 898
            aload 0 /* stream */
            invokeinterface java.util.stream.IntStream.boxed:()Ljava/util/stream/Stream;
            invokestatic com.google.common.collect.Streams.findLast:(Ljava/util/stream/Stream;)Ljava/util/Optional;
            astore 1 /* boxedLast */
        start local 1 // java.util.Optional boxedLast
         1: .line 899
            aload 1 /* boxedLast */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 2
            aload 1 /* boxedLast */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic java.util.OptionalInt.of:(I)Ljava/util/OptionalInt;
            goto 3
      StackMap locals: java.util.Optional
      StackMap stack:
         2: invokestatic java.util.OptionalInt.empty:()Ljava/util/OptionalInt;
      StackMap locals:
      StackMap stack: java.util.OptionalInt
         3: areturn
        end local 1 // java.util.Optional boxedLast
        end local 0 // java.util.stream.IntStream stream
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0     stream  Ljava/util/stream/IntStream;
            1    4     1  boxedLast  Ljava/util/Optional<Ljava/lang/Integer;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
        Name  Flags
      stream  

  public static java.util.OptionalLong findLast(java.util.stream.LongStream);
    descriptor: (Ljava/util/stream/LongStream;)Ljava/util/OptionalLong;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.stream.LongStream stream
         0: .line 917
            aload 0 /* stream */
            invokeinterface java.util.stream.LongStream.boxed:()Ljava/util/stream/Stream;
            invokestatic com.google.common.collect.Streams.findLast:(Ljava/util/stream/Stream;)Ljava/util/Optional;
            astore 1 /* boxedLast */
        start local 1 // java.util.Optional boxedLast
         1: .line 918
            aload 1 /* boxedLast */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 2
            aload 1 /* boxedLast */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            invokestatic java.util.OptionalLong.of:(J)Ljava/util/OptionalLong;
            goto 3
      StackMap locals: java.util.Optional
      StackMap stack:
         2: invokestatic java.util.OptionalLong.empty:()Ljava/util/OptionalLong;
      StackMap locals:
      StackMap stack: java.util.OptionalLong
         3: areturn
        end local 1 // java.util.Optional boxedLast
        end local 0 // java.util.stream.LongStream stream
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0     stream  Ljava/util/stream/LongStream;
            1    4     1  boxedLast  Ljava/util/Optional<Ljava/lang/Long;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
        Name  Flags
      stream  

  public static java.util.OptionalDouble findLast(java.util.stream.DoubleStream);
    descriptor: (Ljava/util/stream/DoubleStream;)Ljava/util/OptionalDouble;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.stream.DoubleStream stream
         0: .line 936
            aload 0 /* stream */
            invokeinterface java.util.stream.DoubleStream.boxed:()Ljava/util/stream/Stream;
            invokestatic com.google.common.collect.Streams.findLast:(Ljava/util/stream/Stream;)Ljava/util/Optional;
            astore 1 /* boxedLast */
        start local 1 // java.util.Optional boxedLast
         1: .line 937
            aload 1 /* boxedLast */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 2
            aload 1 /* boxedLast */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic java.util.OptionalDouble.of:(D)Ljava/util/OptionalDouble;
            goto 3
      StackMap locals: java.util.Optional
      StackMap stack:
         2: invokestatic java.util.OptionalDouble.empty:()Ljava/util/OptionalDouble;
      StackMap locals:
      StackMap stack: java.util.OptionalDouble
         3: areturn
        end local 1 // java.util.Optional boxedLast
        end local 0 // java.util.stream.DoubleStream stream
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0     stream  Ljava/util/stream/DoubleStream;
            1    4     1  boxedLast  Ljava/util/Optional<Ljava/lang/Double;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
        Name  Flags
      stream  

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.Streams this
         0: .line 940
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.collect.Streams this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Streams;

  private static java.util.Spliterator lambda$0(java.util.Spliterator);
    descriptor: (Ljava/util/Spliterator;)Ljava/util/Spliterator;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Spliterator splitr
         0: .line 174
            aload 0 /* splitr */
            areturn
        end local 0 // java.util.Spliterator splitr
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  splitr  Ljava/util/Spliterator<+TT;>;

  private static void lambda$1(java.util.stream.Stream[]);
    descriptor: ([Ljava/util/stream/Stream;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 178
            aload 0
            invokestatic com.google.common.collect.Streams.closeAll:([Ljava/util/stream/BaseStream;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.Spliterator$OfInt lambda$2(java.util.Spliterator$OfInt);
    descriptor: (Ljava/util/Spliterator$OfInt;)Ljava/util/Spliterator$OfInt;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Spliterator$OfInt splitr
         0: .line 206
            aload 0 /* splitr */
            areturn
        end local 0 // java.util.Spliterator$OfInt splitr
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  splitr  Ljava/util/Spliterator$OfInt;

  private static void lambda$3(java.util.stream.IntStream[]);
    descriptor: ([Ljava/util/stream/IntStream;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 210
            aload 0
            invokestatic com.google.common.collect.Streams.closeAll:([Ljava/util/stream/BaseStream;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.Spliterator$OfLong lambda$4(java.util.Spliterator$OfLong);
    descriptor: (Ljava/util/Spliterator$OfLong;)Ljava/util/Spliterator$OfLong;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Spliterator$OfLong splitr
         0: .line 238
            aload 0 /* splitr */
            areturn
        end local 0 // java.util.Spliterator$OfLong splitr
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  splitr  Ljava/util/Spliterator$OfLong;

  private static void lambda$5(java.util.stream.LongStream[]);
    descriptor: ([Ljava/util/stream/LongStream;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 242
            aload 0
            invokestatic com.google.common.collect.Streams.closeAll:([Ljava/util/stream/BaseStream;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.Spliterator$OfDouble lambda$6(java.util.Spliterator$OfDouble);
    descriptor: (Ljava/util/Spliterator$OfDouble;)Ljava/util/Spliterator$OfDouble;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Spliterator$OfDouble splitr
         0: .line 270
            aload 0 /* splitr */
            areturn
        end local 0 // java.util.Spliterator$OfDouble splitr
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  splitr  Ljava/util/Spliterator$OfDouble;

  private static void lambda$7(java.util.stream.DoubleStream[]);
    descriptor: ([Ljava/util/stream/DoubleStream;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 274
            aload 0
            invokestatic com.google.common.collect.Streams.closeAll:([Ljava/util/stream/BaseStream;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$11(java.util.function.BiConsumer, com.google.common.collect.Streams$TemporaryPair);
    descriptor: (Ljava/util/function/BiConsumer;Lcom/google/common/collect/Streams$TemporaryPair;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // com.google.common.collect.Streams$TemporaryPair pair
         0: .line 370
            aload 0
            aload 1 /* pair */
            getfield com.google.common.collect.Streams$TemporaryPair.a:Ljava/lang/Object;
            aload 1 /* pair */
            getfield com.google.common.collect.Streams$TemporaryPair.b:Ljava/lang/Object;
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
            return
        end local 1 // com.google.common.collect.Streams$TemporaryPair pair
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  pair  Lcom/google/common/collect/Streams$TemporaryPair<TA;TB;>;
}
SourceFile: "Streams.java"
NestMembers:
  com.google.common.collect.Streams$1  com.google.common.collect.Streams$1OptionalState  com.google.common.collect.Streams$1Splitr  com.google.common.collect.Streams$2  com.google.common.collect.Streams$2Splitr  com.google.common.collect.Streams$3  com.google.common.collect.Streams$3Splitr  com.google.common.collect.Streams$4  com.google.common.collect.Streams$4Splitr  com.google.common.collect.Streams$5  com.google.common.collect.Streams$DoubleFunctionWithIndex  com.google.common.collect.Streams$FunctionWithIndex  com.google.common.collect.Streams$IntFunctionWithIndex  com.google.common.collect.Streams$LongFunctionWithIndex  com.google.common.collect.Streams$MapWithIndexSpliterator  com.google.common.collect.Streams$TemporaryPair
InnerClasses:
  public final Builder = com.google.common.collect.ImmutableList$Builder of com.google.common.collect.ImmutableList
  com.google.common.collect.Streams$1
  OptionalState = com.google.common.collect.Streams$1OptionalState
  Splitr = com.google.common.collect.Streams$1Splitr
  com.google.common.collect.Streams$2
  Splitr = com.google.common.collect.Streams$2Splitr
  com.google.common.collect.Streams$3
  Splitr = com.google.common.collect.Streams$3Splitr
  com.google.common.collect.Streams$4
  Splitr = com.google.common.collect.Streams$4Splitr
  com.google.common.collect.Streams$5
  public abstract DoubleFunctionWithIndex = com.google.common.collect.Streams$DoubleFunctionWithIndex of com.google.common.collect.Streams
  public abstract FunctionWithIndex = com.google.common.collect.Streams$FunctionWithIndex of com.google.common.collect.Streams
  public abstract IntFunctionWithIndex = com.google.common.collect.Streams$IntFunctionWithIndex of com.google.common.collect.Streams
  public abstract LongFunctionWithIndex = com.google.common.collect.Streams$LongFunctionWithIndex of com.google.common.collect.Streams
  private abstract MapWithIndexSpliterator = com.google.common.collect.Streams$MapWithIndexSpliterator of com.google.common.collect.Streams
  private TemporaryPair = com.google.common.collect.Streams$TemporaryPair of com.google.common.collect.Streams
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract OfDouble = java.util.PrimitiveIterator$OfDouble of java.util.PrimitiveIterator
  public abstract OfInt = java.util.PrimitiveIterator$OfInt of java.util.PrimitiveIterator
  public abstract OfLong = java.util.PrimitiveIterator$OfLong of java.util.PrimitiveIterator
  public abstract OfDouble = java.util.Spliterator$OfDouble of java.util.Spliterator
  public abstract OfInt = java.util.Spliterator$OfInt of java.util.Spliterator
  public abstract OfLong = java.util.Spliterator$OfLong of java.util.Spliterator
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible()