public final class io.reactivex.internal.operators.flowable.FlowableRepeatWhen<T> extends io.reactivex.internal.operators.flowable.AbstractFlowableWithUpstream<T, T>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.reactivex.internal.operators.flowable.FlowableRepeatWhen
  super_class: io.reactivex.internal.operators.flowable.AbstractFlowableWithUpstream
{
  final io.reactivex.functions.Function<? super io.reactivex.Flowable<java.lang.Object>, ? extends org.reactivestreams.Publisher<?>> handler;
    descriptor: Lio/reactivex/functions/Function;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/functions/Function<-Lio/reactivex/Flowable<Ljava/lang/Object;>;+Lorg/reactivestreams/Publisher<*>;>;

  public void <init>(io.reactivex.Flowable<T>, io.reactivex.functions.Function<? super io.reactivex.Flowable<java.lang.Object>, ? extends org.reactivestreams.Publisher<?>>);
    descriptor: (Lio/reactivex/Flowable;Lio/reactivex/functions/Function;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.reactivex.internal.operators.flowable.FlowableRepeatWhen this
        start local 1 // io.reactivex.Flowable source
        start local 2 // io.reactivex.functions.Function handler
         0: .line 33
            aload 0 /* this */
            aload 1 /* source */
            invokespecial io.reactivex.internal.operators.flowable.AbstractFlowableWithUpstream.<init>:(Lio/reactivex/Flowable;)V
         1: .line 34
            aload 0 /* this */
            aload 2 /* handler */
            putfield io.reactivex.internal.operators.flowable.FlowableRepeatWhen.handler:Lio/reactivex/functions/Function;
         2: .line 35
            return
        end local 2 // io.reactivex.functions.Function handler
        end local 1 // io.reactivex.Flowable source
        end local 0 // io.reactivex.internal.operators.flowable.FlowableRepeatWhen this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/reactivex/internal/operators/flowable/FlowableRepeatWhen<TT;>;
            0    3     1   source  Lio/reactivex/Flowable<TT;>;
            0    3     2  handler  Lio/reactivex/functions/Function<-Lio/reactivex/Flowable<Ljava/lang/Object;>;+Lorg/reactivestreams/Publisher<*>;>;
    Signature: (Lio/reactivex/Flowable<TT;>;Lio/reactivex/functions/Function<-Lio/reactivex/Flowable<Ljava/lang/Object;>;+Lorg/reactivestreams/Publisher<*>;>;)V
    MethodParameters:
         Name  Flags
      source   
      handler  

  public void subscribeActual(org.reactivestreams.Subscriber<? super T>);
    descriptor: (Lorg/reactivestreams/Subscriber;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // io.reactivex.internal.operators.flowable.FlowableRepeatWhen this
        start local 1 // org.reactivestreams.Subscriber s
         0: .line 40
            new io.reactivex.subscribers.SerializedSubscriber
            dup
            aload 1 /* s */
            invokespecial io.reactivex.subscribers.SerializedSubscriber.<init>:(Lorg/reactivestreams/Subscriber;)V
            astore 2 /* z */
        start local 2 // io.reactivex.subscribers.SerializedSubscriber z
         1: .line 42
            bipush 8
            invokestatic io.reactivex.processors.UnicastProcessor.create:(I)Lio/reactivex/processors/UnicastProcessor;
            invokevirtual io.reactivex.processors.UnicastProcessor.toSerialized:()Lio/reactivex/processors/FlowableProcessor;
            astore 3 /* processor */
        start local 3 // io.reactivex.processors.FlowableProcessor processor
         2: .line 47
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableRepeatWhen.handler:Lio/reactivex/functions/Function;
            aload 3 /* processor */
            invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.reactivestreams.Publisher
            ldc "handler returned a null Publisher"
            invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.reactivestreams.Publisher
            astore 4 /* when */
        start local 4 // org.reactivestreams.Publisher when
         3: .line 48
            goto 8
        end local 4 // org.reactivestreams.Publisher when
      StackMap locals: io.reactivex.internal.operators.flowable.FlowableRepeatWhen org.reactivestreams.Subscriber io.reactivex.subscribers.SerializedSubscriber io.reactivex.processors.FlowableProcessor
      StackMap stack: java.lang.Throwable
         4: astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
         5: .line 49
            aload 5 /* ex */
            invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
         6: .line 50
            aload 5 /* ex */
            aload 1 /* s */
            invokestatic io.reactivex.internal.subscriptions.EmptySubscription.error:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;)V
         7: .line 51
            return
        end local 5 // java.lang.Throwable ex
        start local 4 // org.reactivestreams.Publisher when
         8: .line 54
      StackMap locals: org.reactivestreams.Publisher
      StackMap stack:
            new io.reactivex.internal.operators.flowable.FlowableRepeatWhen$WhenReceiver
            dup
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableRepeatWhen.source:Lio/reactivex/Flowable;
            invokespecial io.reactivex.internal.operators.flowable.FlowableRepeatWhen$WhenReceiver.<init>:(Lorg/reactivestreams/Publisher;)V
            astore 5 /* receiver */
        start local 5 // io.reactivex.internal.operators.flowable.FlowableRepeatWhen$WhenReceiver receiver
         9: .line 56
            new io.reactivex.internal.operators.flowable.FlowableRepeatWhen$RepeatWhenSubscriber
            dup
            aload 2 /* z */
            aload 3 /* processor */
            aload 5 /* receiver */
            invokespecial io.reactivex.internal.operators.flowable.FlowableRepeatWhen$RepeatWhenSubscriber.<init>:(Lorg/reactivestreams/Subscriber;Lio/reactivex/processors/FlowableProcessor;Lorg/reactivestreams/Subscription;)V
            astore 6 /* subscriber */
        start local 6 // io.reactivex.internal.operators.flowable.FlowableRepeatWhen$RepeatWhenSubscriber subscriber
        10: .line 58
            aload 5 /* receiver */
            aload 6 /* subscriber */
            putfield io.reactivex.internal.operators.flowable.FlowableRepeatWhen$WhenReceiver.subscriber:Lio/reactivex/internal/operators/flowable/FlowableRepeatWhen$WhenSourceSubscriber;
        11: .line 60
            aload 1 /* s */
            aload 6 /* subscriber */
            invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
        12: .line 62
            aload 4 /* when */
            aload 5 /* receiver */
            invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
        13: .line 64
            aload 5 /* receiver */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.reactivex.internal.operators.flowable.FlowableRepeatWhen$WhenReceiver.onNext:(Ljava/lang/Object;)V
        14: .line 65
            return
        end local 6 // io.reactivex.internal.operators.flowable.FlowableRepeatWhen$RepeatWhenSubscriber subscriber
        end local 5 // io.reactivex.internal.operators.flowable.FlowableRepeatWhen$WhenReceiver receiver
        end local 4 // org.reactivestreams.Publisher when
        end local 3 // io.reactivex.processors.FlowableProcessor processor
        end local 2 // io.reactivex.subscribers.SerializedSubscriber z
        end local 1 // org.reactivestreams.Subscriber s
        end local 0 // io.reactivex.internal.operators.flowable.FlowableRepeatWhen this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lio/reactivex/internal/operators/flowable/FlowableRepeatWhen<TT;>;
            0   15     1           s  Lorg/reactivestreams/Subscriber<-TT;>;
            1   15     2           z  Lio/reactivex/subscribers/SerializedSubscriber<TT;>;
            2   15     3   processor  Lio/reactivex/processors/FlowableProcessor<Ljava/lang/Object;>;
            3    4     4        when  Lorg/reactivestreams/Publisher<*>;
            8   15     4        when  Lorg/reactivestreams/Publisher<*>;
            5    8     5          ex  Ljava/lang/Throwable;
            9   15     5    receiver  Lio/reactivex/internal/operators/flowable/FlowableRepeatWhen$WhenReceiver<TT;Ljava/lang/Object;>;
           10   15     6  subscriber  Lio/reactivex/internal/operators/flowable/FlowableRepeatWhen$RepeatWhenSubscriber<TT;>;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    Signature: (Lorg/reactivestreams/Subscriber<-TT;>;)V
    MethodParameters:
      Name  Flags
      s     
}
Signature: <T:Ljava/lang/Object;>Lio/reactivex/internal/operators/flowable/AbstractFlowableWithUpstream<TT;TT;>;
SourceFile: "FlowableRepeatWhen.java"
NestMembers:
  io.reactivex.internal.operators.flowable.FlowableRepeatWhen$RepeatWhenSubscriber  io.reactivex.internal.operators.flowable.FlowableRepeatWhen$WhenReceiver  io.reactivex.internal.operators.flowable.FlowableRepeatWhen$WhenSourceSubscriber
InnerClasses:
  final RepeatWhenSubscriber = io.reactivex.internal.operators.flowable.FlowableRepeatWhen$RepeatWhenSubscriber of io.reactivex.internal.operators.flowable.FlowableRepeatWhen
  final WhenReceiver = io.reactivex.internal.operators.flowable.FlowableRepeatWhen$WhenReceiver of io.reactivex.internal.operators.flowable.FlowableRepeatWhen
  abstract WhenSourceSubscriber = io.reactivex.internal.operators.flowable.FlowableRepeatWhen$WhenSourceSubscriber of io.reactivex.internal.operators.flowable.FlowableRepeatWhen