public final class io.reactivex.internal.operators.parallel.ParallelReduce<T, R> extends io.reactivex.parallel.ParallelFlowable<R>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.reactivex.internal.operators.parallel.ParallelReduce
  super_class: io.reactivex.parallel.ParallelFlowable
{
  final io.reactivex.parallel.ParallelFlowable<? extends T> source;
    descriptor: Lio/reactivex/parallel/ParallelFlowable;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/parallel/ParallelFlowable<+TT;>;

  final java.util.concurrent.Callable<R> initialSupplier;
    descriptor: Ljava/util/concurrent/Callable;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/concurrent/Callable<TR;>;

  final io.reactivex.functions.BiFunction<R, ? super T, R> reducer;
    descriptor: Lio/reactivex/functions/BiFunction;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/functions/BiFunction<TR;-TT;TR;>;

  public void <init>(io.reactivex.parallel.ParallelFlowable<? extends T>, java.util.concurrent.Callable<R>, io.reactivex.functions.BiFunction<R, ? super T, R>);
    descriptor: (Lio/reactivex/parallel/ParallelFlowable;Ljava/util/concurrent/Callable;Lio/reactivex/functions/BiFunction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // io.reactivex.internal.operators.parallel.ParallelReduce this
        start local 1 // io.reactivex.parallel.ParallelFlowable source
        start local 2 // java.util.concurrent.Callable initialSupplier
        start local 3 // io.reactivex.functions.BiFunction reducer
         0: .line 42
            aload 0 /* this */
            invokespecial io.reactivex.parallel.ParallelFlowable.<init>:()V
         1: .line 43
            aload 0 /* this */
            aload 1 /* source */
            putfield io.reactivex.internal.operators.parallel.ParallelReduce.source:Lio/reactivex/parallel/ParallelFlowable;
         2: .line 44
            aload 0 /* this */
            aload 2 /* initialSupplier */
            putfield io.reactivex.internal.operators.parallel.ParallelReduce.initialSupplier:Ljava/util/concurrent/Callable;
         3: .line 45
            aload 0 /* this */
            aload 3 /* reducer */
            putfield io.reactivex.internal.operators.parallel.ParallelReduce.reducer:Lio/reactivex/functions/BiFunction;
         4: .line 46
            return
        end local 3 // io.reactivex.functions.BiFunction reducer
        end local 2 // java.util.concurrent.Callable initialSupplier
        end local 1 // io.reactivex.parallel.ParallelFlowable source
        end local 0 // io.reactivex.internal.operators.parallel.ParallelReduce this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lio/reactivex/internal/operators/parallel/ParallelReduce<TT;TR;>;
            0    5     1           source  Lio/reactivex/parallel/ParallelFlowable<+TT;>;
            0    5     2  initialSupplier  Ljava/util/concurrent/Callable<TR;>;
            0    5     3          reducer  Lio/reactivex/functions/BiFunction<TR;-TT;TR;>;
    Signature: (Lio/reactivex/parallel/ParallelFlowable<+TT;>;Ljava/util/concurrent/Callable<TR;>;Lio/reactivex/functions/BiFunction<TR;-TT;TR;>;)V
    MethodParameters:
                 Name  Flags
      source           
      initialSupplier  
      reducer          

  public void subscribe(org.reactivestreams.Subscriber<? super R>[]);
    descriptor: ([Lorg/reactivestreams/Subscriber;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // io.reactivex.internal.operators.parallel.ParallelReduce this
        start local 1 // org.reactivestreams.Subscriber[] subscribers
         0: .line 50
            aload 0 /* this */
            aload 1 /* subscribers */
            invokevirtual io.reactivex.internal.operators.parallel.ParallelReduce.validate:([Lorg/reactivestreams/Subscriber;)Z
            ifne 2
         1: .line 51
            return
         2: .line 54
      StackMap locals:
      StackMap stack:
            aload 1 /* subscribers */
            arraylength
            istore 2 /* n */
        start local 2 // int n
         3: .line 56
            iload 2 /* n */
            anewarray org.reactivestreams.Subscriber
            astore 3 /* parents */
        start local 3 // org.reactivestreams.Subscriber[] parents
         4: .line 58
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 14
         6: .line 63
      StackMap locals: int org.reactivestreams.Subscriber[] int
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelReduce.initialSupplier:Ljava/util/concurrent/Callable;
            invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
            ldc "The initialSupplier returned a null value"
            invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 5 /* initialValue */
        start local 5 // java.lang.Object initialValue
         7: .line 64
            goto 12
        end local 5 // java.lang.Object initialValue
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
         9: .line 65
            aload 6 /* ex */
            invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
        10: .line 66
            aload 0 /* this */
            aload 1 /* subscribers */
            aload 6 /* ex */
            invokevirtual io.reactivex.internal.operators.parallel.ParallelReduce.reportError:([Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
        11: .line 67
            return
        end local 6 // java.lang.Throwable ex
        start local 5 // java.lang.Object initialValue
        12: .line 70
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* parents */
            iload 4 /* i */
            new io.reactivex.internal.operators.parallel.ParallelReduce$ParallelReduceSubscriber
            dup
            aload 1 /* subscribers */
            iload 4 /* i */
            aaload
            aload 5 /* initialValue */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelReduce.reducer:Lio/reactivex/functions/BiFunction;
            invokespecial io.reactivex.internal.operators.parallel.ParallelReduce$ParallelReduceSubscriber.<init>:(Lorg/reactivestreams/Subscriber;Ljava/lang/Object;Lio/reactivex/functions/BiFunction;)V
            aastore
        end local 5 // java.lang.Object initialValue
        13: .line 58
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            iload 2 /* n */
            if_icmplt 6
        end local 4 // int i
        15: .line 73
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelReduce.source:Lio/reactivex/parallel/ParallelFlowable;
            aload 3 /* parents */
            invokevirtual io.reactivex.parallel.ParallelFlowable.subscribe:([Lorg/reactivestreams/Subscriber;)V
        16: .line 74
            return
        end local 3 // org.reactivestreams.Subscriber[] parents
        end local 2 // int n
        end local 1 // org.reactivestreams.Subscriber[] subscribers
        end local 0 // io.reactivex.internal.operators.parallel.ParallelReduce this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lio/reactivex/internal/operators/parallel/ParallelReduce<TT;TR;>;
            0   17     1   subscribers  [Lorg/reactivestreams/Subscriber;
            3   17     2             n  I
            4   17     3       parents  [Lorg/reactivestreams/Subscriber;
            5   15     4             i  I
            7    8     5  initialValue  TR;
           12   13     5  initialValue  TR;
            9   12     6            ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.Throwable
    Signature: ([Lorg/reactivestreams/Subscriber<-TR;>;)V
    MethodParameters:
             Name  Flags
      subscribers  

  void reportError(org.reactivestreams.Subscriber<?>[], java.lang.Throwable);
    descriptor: ([Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // io.reactivex.internal.operators.parallel.ParallelReduce this
        start local 1 // org.reactivestreams.Subscriber[] subscribers
        start local 2 // java.lang.Throwable ex
         0: .line 77
            aload 1 /* subscribers */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 4
      StackMap locals: io.reactivex.internal.operators.parallel.ParallelReduce org.reactivestreams.Subscriber[] java.lang.Throwable top int int org.reactivestreams.Subscriber[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* s */
        start local 3 // org.reactivestreams.Subscriber s
         2: .line 78
            aload 2 /* ex */
            aload 3 /* s */
            invokestatic io.reactivex.internal.subscriptions.EmptySubscription.error:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;)V
        end local 3 // org.reactivestreams.Subscriber s
         3: .line 77
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 80
            return
        end local 2 // java.lang.Throwable ex
        end local 1 // org.reactivestreams.Subscriber[] subscribers
        end local 0 // io.reactivex.internal.operators.parallel.ParallelReduce this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lio/reactivex/internal/operators/parallel/ParallelReduce<TT;TR;>;
            0    6     1  subscribers  [Lorg/reactivestreams/Subscriber;
            0    6     2           ex  Ljava/lang/Throwable;
            2    3     3            s  Lorg/reactivestreams/Subscriber<*>;
    Signature: ([Lorg/reactivestreams/Subscriber<*>;Ljava/lang/Throwable;)V
    MethodParameters:
             Name  Flags
      subscribers  
      ex           

  public int parallelism();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.parallel.ParallelReduce this
         0: .line 84
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelReduce.source:Lio/reactivex/parallel/ParallelFlowable;
            invokevirtual io.reactivex.parallel.ParallelFlowable.parallelism:()I
            ireturn
        end local 0 // io.reactivex.internal.operators.parallel.ParallelReduce this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/internal/operators/parallel/ParallelReduce<TT;TR;>;
}
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>Lio/reactivex/parallel/ParallelFlowable<TR;>;
SourceFile: "ParallelReduce.java"
NestMembers:
  io.reactivex.internal.operators.parallel.ParallelReduce$ParallelReduceSubscriber
InnerClasses:
  final ParallelReduceSubscriber = io.reactivex.internal.operators.parallel.ParallelReduce$ParallelReduceSubscriber of io.reactivex.internal.operators.parallel.ParallelReduce