public final class io.reactivex.internal.operators.parallel.ParallelRunOn<T> extends io.reactivex.parallel.ParallelFlowable<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.reactivex.internal.operators.parallel.ParallelRunOn
  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 io.reactivex.Scheduler scheduler;
    descriptor: Lio/reactivex/Scheduler;
    flags: (0x0010) ACC_FINAL

  final int prefetch;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  public void <init>(io.reactivex.parallel.ParallelFlowable<? extends T>, io.reactivex.Scheduler, );
    descriptor: (Lio/reactivex/parallel/ParallelFlowable;Lio/reactivex/Scheduler;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // io.reactivex.internal.operators.parallel.ParallelRunOn this
        start local 1 // io.reactivex.parallel.ParallelFlowable parent
        start local 2 // io.reactivex.Scheduler scheduler
        start local 3 // int prefetch
         0: .line 44
            aload 0 /* this */
            invokespecial io.reactivex.parallel.ParallelFlowable.<init>:()V
         1: .line 46
            aload 0 /* this */
            aload 1 /* parent */
            putfield io.reactivex.internal.operators.parallel.ParallelRunOn.source:Lio/reactivex/parallel/ParallelFlowable;
         2: .line 47
            aload 0 /* this */
            aload 2 /* scheduler */
            putfield io.reactivex.internal.operators.parallel.ParallelRunOn.scheduler:Lio/reactivex/Scheduler;
         3: .line 48
            aload 0 /* this */
            iload 3 /* prefetch */
            putfield io.reactivex.internal.operators.parallel.ParallelRunOn.prefetch:I
         4: .line 49
            return
        end local 3 // int prefetch
        end local 2 // io.reactivex.Scheduler scheduler
        end local 1 // io.reactivex.parallel.ParallelFlowable parent
        end local 0 // io.reactivex.internal.operators.parallel.ParallelRunOn this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lio/reactivex/internal/operators/parallel/ParallelRunOn<TT;>;
            0    5     1     parent  Lio/reactivex/parallel/ParallelFlowable<+TT;>;
            0    5     2  scheduler  Lio/reactivex/Scheduler;
            0    5     3   prefetch  I
    Signature: (Lio/reactivex/parallel/ParallelFlowable<+TT;>;Lio/reactivex/Scheduler;I)V
    MethodParameters:
           Name  Flags
      parent     
      scheduler  
      prefetch   

  public void subscribe(org.reactivestreams.Subscriber<? super T>[]);
    descriptor: ([Lorg/reactivestreams/Subscriber;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // io.reactivex.internal.operators.parallel.ParallelRunOn this
        start local 1 // org.reactivestreams.Subscriber[] subscribers
         0: .line 53
            aload 0 /* this */
            aload 1 /* subscribers */
            invokevirtual io.reactivex.internal.operators.parallel.ParallelRunOn.validate:([Lorg/reactivestreams/Subscriber;)Z
            ifne 2
         1: .line 54
            return
         2: .line 57
      StackMap locals:
      StackMap stack:
            aload 1 /* subscribers */
            arraylength
            istore 2 /* n */
        start local 2 // int n
         3: .line 60
            iload 2 /* n */
            anewarray org.reactivestreams.Subscriber
            astore 3 /* parents */
        start local 3 // org.reactivestreams.Subscriber[] parents
         4: .line 62
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelRunOn.scheduler:Lio/reactivex/Scheduler;
            instanceof io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport
            ifeq 8
         5: .line 63
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelRunOn.scheduler:Lio/reactivex/Scheduler;
            checkcast io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport
            astore 4 /* multiworker */
        start local 4 // io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport multiworker
         6: .line 64
            aload 4 /* multiworker */
            iload 2 /* n */
            new io.reactivex.internal.operators.parallel.ParallelRunOn$MultiWorkerCallback
            dup
            aload 0 /* this */
            aload 1 /* subscribers */
            aload 3 /* parents */
            invokespecial io.reactivex.internal.operators.parallel.ParallelRunOn$MultiWorkerCallback.<init>:(Lio/reactivex/internal/operators/parallel/ParallelRunOn;[Lorg/reactivestreams/Subscriber;[Lorg/reactivestreams/Subscriber;)V
            invokeinterface io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport.createWorkers:(ILio/reactivex/internal/schedulers/SchedulerMultiWorkerSupport$WorkerCallback;)V
        end local 4 // io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport multiworker
         7: .line 65
            goto 13
         8: .line 66
      StackMap locals: int org.reactivestreams.Subscriber[]
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 12
        10: .line 67
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            aload 1 /* subscribers */
            aload 3 /* parents */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelRunOn.scheduler:Lio/reactivex/Scheduler;
            invokevirtual io.reactivex.Scheduler.createWorker:()Lio/reactivex/Scheduler$Worker;
            invokevirtual io.reactivex.internal.operators.parallel.ParallelRunOn.createSubscriber:(I[Lorg/reactivestreams/Subscriber;[Lorg/reactivestreams/Subscriber;Lio/reactivex/Scheduler$Worker;)V
        11: .line 66
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 2 /* n */
            if_icmplt 10
        end local 4 // int i
        13: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelRunOn.source:Lio/reactivex/parallel/ParallelFlowable;
            aload 3 /* parents */
            invokevirtual io.reactivex.parallel.ParallelFlowable.subscribe:([Lorg/reactivestreams/Subscriber;)V
        14: .line 71
            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.ParallelRunOn this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lio/reactivex/internal/operators/parallel/ParallelRunOn<TT;>;
            0   15     1  subscribers  [Lorg/reactivestreams/Subscriber;
            3   15     2            n  I
            4   15     3      parents  [Lorg/reactivestreams/Subscriber;
            6    7     4  multiworker  Lio/reactivex/internal/schedulers/SchedulerMultiWorkerSupport;
            9   13     4            i  I
    Signature: ([Lorg/reactivestreams/Subscriber<-TT;>;)V
    MethodParameters:
             Name  Flags
      subscribers  final

  void createSubscriber(int, org.reactivestreams.Subscriber<? super T>[], org.reactivestreams.Subscriber<T>[], io.reactivex.Scheduler$Worker);
    descriptor: (I[Lorg/reactivestreams/Subscriber;[Lorg/reactivestreams/Subscriber;Lio/reactivex/Scheduler$Worker;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // io.reactivex.internal.operators.parallel.ParallelRunOn this
        start local 1 // int i
        start local 2 // org.reactivestreams.Subscriber[] subscribers
        start local 3 // org.reactivestreams.Subscriber[] parents
        start local 4 // io.reactivex.Scheduler$Worker worker
         0: .line 76
            aload 2 /* subscribers */
            iload 1 /* i */
            aaload
            astore 5 /* a */
        start local 5 // org.reactivestreams.Subscriber a
         1: .line 78
            new io.reactivex.internal.queue.SpscArrayQueue
            dup
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelRunOn.prefetch:I
            invokespecial io.reactivex.internal.queue.SpscArrayQueue.<init>:(I)V
            astore 6 /* q */
        start local 6 // io.reactivex.internal.queue.SpscArrayQueue q
         2: .line 80
            aload 5 /* a */
            instanceof io.reactivex.internal.fuseable.ConditionalSubscriber
            ifeq 5
         3: .line 81
            aload 3 /* parents */
            iload 1 /* i */
            new io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber
            dup
            aload 5 /* a */
            checkcast io.reactivex.internal.fuseable.ConditionalSubscriber
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelRunOn.prefetch:I
            aload 6 /* q */
            aload 4 /* worker */
            invokespecial io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.<init>:(Lio/reactivex/internal/fuseable/ConditionalSubscriber;ILio/reactivex/internal/queue/SpscArrayQueue;Lio/reactivex/Scheduler$Worker;)V
            aastore
         4: .line 82
            goto 6
         5: .line 83
      StackMap locals: org.reactivestreams.Subscriber io.reactivex.internal.queue.SpscArrayQueue
      StackMap stack:
            aload 3 /* parents */
            iload 1 /* i */
            new io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnSubscriber
            dup
            aload 5 /* a */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelRunOn.prefetch:I
            aload 6 /* q */
            aload 4 /* worker */
            invokespecial io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnSubscriber.<init>:(Lorg/reactivestreams/Subscriber;ILio/reactivex/internal/queue/SpscArrayQueue;Lio/reactivex/Scheduler$Worker;)V
            aastore
         6: .line 85
      StackMap locals:
      StackMap stack:
            return
        end local 6 // io.reactivex.internal.queue.SpscArrayQueue q
        end local 5 // org.reactivestreams.Subscriber a
        end local 4 // io.reactivex.Scheduler$Worker worker
        end local 3 // org.reactivestreams.Subscriber[] parents
        end local 2 // org.reactivestreams.Subscriber[] subscribers
        end local 1 // int i
        end local 0 // io.reactivex.internal.operators.parallel.ParallelRunOn this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lio/reactivex/internal/operators/parallel/ParallelRunOn<TT;>;
            0    7     1            i  I
            0    7     2  subscribers  [Lorg/reactivestreams/Subscriber;
            0    7     3      parents  [Lorg/reactivestreams/Subscriber;
            0    7     4       worker  Lio/reactivex/Scheduler$Worker;
            1    7     5            a  Lorg/reactivestreams/Subscriber<-TT;>;
            2    7     6            q  Lio/reactivex/internal/queue/SpscArrayQueue<TT;>;
    Signature: (I[Lorg/reactivestreams/Subscriber<-TT;>;[Lorg/reactivestreams/Subscriber<TT;>;Lio/reactivex/Scheduler$Worker;)V
    MethodParameters:
             Name  Flags
      i            
      subscribers  
      parents      
      worker       

  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.ParallelRunOn this
         0: .line 107
            aload 0 /* this */
            getfield io.reactivex.internal.operators.parallel.ParallelRunOn.source:Lio/reactivex/parallel/ParallelFlowable;
            invokevirtual io.reactivex.parallel.ParallelFlowable.parallelism:()I
            ireturn
        end local 0 // io.reactivex.internal.operators.parallel.ParallelRunOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/internal/operators/parallel/ParallelRunOn<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lio/reactivex/parallel/ParallelFlowable<TT;>;
SourceFile: "ParallelRunOn.java"
NestMembers:
  io.reactivex.internal.operators.parallel.ParallelRunOn$BaseRunOnSubscriber  io.reactivex.internal.operators.parallel.ParallelRunOn$MultiWorkerCallback  io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber  io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnSubscriber
InnerClasses:
  public abstract Worker = io.reactivex.Scheduler$Worker of io.reactivex.Scheduler
  abstract BaseRunOnSubscriber = io.reactivex.internal.operators.parallel.ParallelRunOn$BaseRunOnSubscriber of io.reactivex.internal.operators.parallel.ParallelRunOn
  final MultiWorkerCallback = io.reactivex.internal.operators.parallel.ParallelRunOn$MultiWorkerCallback of io.reactivex.internal.operators.parallel.ParallelRunOn
  final RunOnConditionalSubscriber = io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber of io.reactivex.internal.operators.parallel.ParallelRunOn
  final RunOnSubscriber = io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnSubscriber of io.reactivex.internal.operators.parallel.ParallelRunOn
  public abstract WorkerCallback = io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport$WorkerCallback of io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport