public class io.vertx.rx.java.ReadStreamSubscriber<R, J> extends rx.Subscriber<R> implements io.vertx.core.streams.ReadStream<J>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.rx.java.ReadStreamSubscriber
  super_class: rx.Subscriber
{
  private static final java.lang.Runnable NOOP_ACTION;
    descriptor: Ljava/lang/Runnable;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Throwable DONE_SENTINEL;
    descriptor: Ljava/lang/Throwable;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final int BUFFER_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private final java.util.function.Function<R, J> adapter;
    descriptor: Ljava/util/function/Function;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Function<TR;TJ;>;

  private io.vertx.core.Handler<java.lang.Void> endHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;

  private io.vertx.core.Handler<java.lang.Throwable> exceptionHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Throwable;>;

  private io.vertx.core.Handler<J> elementHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<TJ;>;

  private boolean paused;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Throwable completed;
    descriptor: Ljava/lang/Throwable;
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayDeque<R> pending;
    descriptor: Ljava/util/ArrayDeque;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayDeque<TR;>;

  private int requested;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 30
            invokedynamic run()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
                  io/vertx/rx/java/ReadStreamSubscriber.lambda$0()V (6)
                  ()V
            putstatic io.vertx.rx.java.ReadStreamSubscriber.NOOP_ACTION:Ljava/lang/Runnable;
         1: .line 31
            new java.lang.Throwable
            dup
            invokespecial java.lang.Throwable.<init>:()V
            putstatic io.vertx.rx.java.ReadStreamSubscriber.DONE_SENTINEL:Ljava/lang/Throwable;
         2: .line 33
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static <R, J> io.vertx.core.streams.ReadStream<J> asReadStream(rx.Observable<R>, java.util.function.Function<R, J>);
    descriptor: (Lrx/Observable;Ljava/util/function/Function;)Lio/vertx/core/streams/ReadStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // rx.Observable observable
        start local 1 // java.util.function.Function adapter
         0: .line 36
            new io.vertx.rx.java.ReadStreamSubscriber
            dup
            aload 1 /* adapter */
            invokespecial io.vertx.rx.java.ReadStreamSubscriber.<init>:(Ljava/util/function/Function;)V
            astore 2 /* observer */
        start local 2 // io.vertx.rx.java.ReadStreamSubscriber observer
         1: .line 37
            aload 0 /* observable */
            aload 2 /* observer */
            invokevirtual rx.Observable.subscribe:(Lrx/Subscriber;)Lrx/Subscription;
            pop
         2: .line 38
            aload 2 /* observer */
            areturn
        end local 2 // io.vertx.rx.java.ReadStreamSubscriber observer
        end local 1 // java.util.function.Function adapter
        end local 0 // rx.Observable observable
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  observable  Lrx/Observable<TR;>;
            0    3     1     adapter  Ljava/util/function/Function<TR;TJ;>;
            1    3     2    observer  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
    Signature: <R:Ljava/lang/Object;J:Ljava/lang/Object;>(Lrx/Observable<TR;>;Ljava/util/function/Function<TR;TJ;>;)Lio/vertx/core/streams/ReadStream<TJ;>;
    MethodParameters:
            Name  Flags
      observable  
      adapter     

  public void <init>(java.util.function.Function<R, J>);
    descriptor: (Ljava/util/function/Function;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
        start local 1 // java.util.function.Function adapter
         0: .line 50
            aload 0 /* this */
            invokespecial rx.Subscriber.<init>:()V
         1: .line 45
            aload 0 /* this */
            iconst_0
            putfield io.vertx.rx.java.ReadStreamSubscriber.paused:Z
         2: .line 47
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield io.vertx.rx.java.ReadStreamSubscriber.pending:Ljava/util/ArrayDeque;
         3: .line 48
            aload 0 /* this */
            iconst_0
            putfield io.vertx.rx.java.ReadStreamSubscriber.requested:I
         4: .line 51
            aload 0 /* this */
            aload 1 /* adapter */
            putfield io.vertx.rx.java.ReadStreamSubscriber.adapter:Ljava/util/function/Function;
         5: .line 52
            aload 0 /* this */
            lconst_0
            invokevirtual io.vertx.rx.java.ReadStreamSubscriber.request:(J)V
         6: .line 53
            return
        end local 1 // java.util.function.Function adapter
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
            0    7     1  adapter  Ljava/util/function/Function<TR;TJ;>;
    Signature: (Ljava/util/function/Function<TR;TJ;>;)V
    MethodParameters:
         Name  Flags
      adapter  

  public io.vertx.core.streams.ReadStream<J> handler(io.vertx.core.Handler<J>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
        start local 1 // io.vertx.core.Handler handler
         0: .line 57
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 58
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.rx.java.ReadStreamSubscriber.elementHandler:Lio/vertx/core/Handler;
         2: .line 57
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: io.vertx.rx.java.ReadStreamSubscriber io.vertx.core.Handler io.vertx.rx.java.ReadStreamSubscriber
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.rx.java.ReadStreamSubscriber.checkStatus:()V
         7: .line 61
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
            0    8     1  handler  Lio/vertx/core/Handler<TJ;>;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: (Lio/vertx/core/Handler<TJ;>;)Lio/vertx/core/streams/ReadStream<TJ;>;
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.core.streams.ReadStream<J> fetch(long);
    descriptor: (J)Lio/vertx/core/streams/ReadStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
        start local 1 // long amount
         0: .line 66
            new java.lang.UnsupportedOperationException
            dup
            ldc "todo"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // long amount
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
            0    1     1  amount  J
    Signature: (J)Lio/vertx/core/streams/ReadStream<TJ;>;
    MethodParameters:
        Name  Flags
      amount  

  public io.vertx.core.streams.ReadStream<J> pause();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
         0: .line 71
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 72
            aload 0 /* this */
            iconst_1
            putfield io.vertx.rx.java.ReadStreamSubscriber.paused:Z
         2: .line 71
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: io.vertx.rx.java.ReadStreamSubscriber io.vertx.rx.java.ReadStreamSubscriber
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: ()Lio/vertx/core/streams/ReadStream<TJ;>;

  public io.vertx.core.streams.ReadStream<J> resume();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
         0: .line 79
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 80
            aload 0 /* this */
            iconst_0
            putfield io.vertx.rx.java.ReadStreamSubscriber.paused:Z
         2: .line 79
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: io.vertx.rx.java.ReadStreamSubscriber io.vertx.rx.java.ReadStreamSubscriber
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.rx.java.ReadStreamSubscriber.checkStatus:()V
         7: .line 83
            aload 0 /* this */
            areturn
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: ()Lio/vertx/core/streams/ReadStream<TJ;>;

  private void checkStatus();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
         0: .line 87
            getstatic io.vertx.rx.java.ReadStreamSubscriber.NOOP_ACTION:Ljava/lang/Runnable;
            astore 1 /* action */
        start local 1 // java.lang.Runnable action
         1: .line 91
      StackMap locals: java.lang.Runnable
      StackMap stack:
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         2: .line 92
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.paused:Z
            ifne 8
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.elementHandler:Lio/vertx/core/Handler;
            dup
            astore 3 /* handler */
        start local 3 // io.vertx.core.Handler handler
         3: ifnull 8
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.pending:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.size:()I
            ifle 8
         4: .line 93
            aload 0 /* this */
            dup
            getfield io.vertx.rx.java.ReadStreamSubscriber.requested:I
            iconst_1
            isub
            putfield io.vertx.rx.java.ReadStreamSubscriber.requested:I
         5: .line 94
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.pending:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
            astore 5 /* item */
        start local 5 // java.lang.Object item
         6: .line 95
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.adapter:Ljava/util/function/Function;
            aload 5 /* item */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* adapted */
        end local 5 // java.lang.Object item
        start local 2 // java.lang.Object adapted
         7: .line 96
            goto 27
        end local 3 // io.vertx.core.Handler handler
        end local 2 // java.lang.Object adapted
         8: .line 97
      StackMap locals: io.vertx.rx.java.ReadStreamSubscriber java.lang.Runnable top top io.vertx.rx.java.ReadStreamSubscriber
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.completed:Ljava/lang/Throwable;
            ifnull 21
         9: .line 98
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.pending:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.isEmpty:()Z
            ifeq 25
        10: .line 101
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.completed:Ljava/lang/Throwable;
            getstatic io.vertx.rx.java.ReadStreamSubscriber.DONE_SENTINEL:Ljava/lang/Throwable;
            if_acmpeq 15
        11: .line 102
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.exceptionHandler:Lio/vertx/core/Handler;
            astore 5 /* onError */
        start local 5 // io.vertx.core.Handler onError
        12: .line 103
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.completed:Ljava/lang/Throwable;
            astore 6 /* result */
        start local 6 // java.lang.Throwable result
        13: .line 104
            aload 0 /* this */
            aconst_null
            putfield io.vertx.rx.java.ReadStreamSubscriber.exceptionHandler:Lio/vertx/core/Handler;
        14: .line 105
            goto 17
        end local 6 // java.lang.Throwable result
        end local 5 // io.vertx.core.Handler onError
        15: .line 106
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* onError */
        start local 5 // io.vertx.core.Handler onError
        16: .line 107
            aconst_null
            astore 6 /* result */
        start local 6 // java.lang.Throwable result
        17: .line 109
      StackMap locals: io.vertx.core.Handler java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.endHandler:Lio/vertx/core/Handler;
            astore 7 /* onCompleted */
        start local 7 // io.vertx.core.Handler onCompleted
        18: .line 110
            aload 0 /* this */
            aconst_null
            putfield io.vertx.rx.java.ReadStreamSubscriber.endHandler:Lio/vertx/core/Handler;
        19: .line 111
            aload 7 /* onCompleted */
            aload 5 /* onError */
            aload 6 /* result */
            invokedynamic run(Lio/vertx/core/Handler;Lio/vertx/core/Handler;Ljava/lang/Throwable;)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
                  io/vertx/rx/java/ReadStreamSubscriber.lambda$1(Lio/vertx/core/Handler;Lio/vertx/core/Handler;Ljava/lang/Throwable;)V (6)
                  ()V
            astore 1 /* action */
        end local 7 // io.vertx.core.Handler onCompleted
        end local 6 // java.lang.Throwable result
        end local 5 // io.vertx.core.Handler onError
        20: .line 123
            goto 25
      StackMap locals:
      StackMap stack:
        21: aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.elementHandler:Lio/vertx/core/Handler;
            ifnull 25
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.requested:I
            bipush 8
            if_icmpge 25
        22: .line 124
            bipush 16
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.requested:I
            isub
            istore 5 /* request */
        start local 5 // int request
        23: .line 125
            aload 0 /* this */
            iload 5 /* request */
            invokedynamic run(Lio/vertx/rx/java/ReadStreamSubscriber;I)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
                  io/vertx/rx/java/ReadStreamSubscriber.lambda$2(I)V (7)
                  ()V
            astore 1 /* action */
        24: .line 126
            aload 0 /* this */
            bipush 16
            putfield io.vertx.rx.java.ReadStreamSubscriber.requested:I
        end local 5 // int request
        25: .line 128
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        26: goto 33
        start local 2 // java.lang.Object adapted
        start local 3 // io.vertx.core.Handler handler
        27: .line 91
      StackMap locals: io.vertx.rx.java.ReadStreamSubscriber java.lang.Runnable java.lang.Object io.vertx.core.Handler io.vertx.rx.java.ReadStreamSubscriber
      StackMap stack:
            aload 4
            monitorexit
        28: goto 31
        end local 3 // io.vertx.core.Handler handler
        end local 2 // java.lang.Object adapted
      StackMap locals: io.vertx.rx.java.ReadStreamSubscriber java.lang.Runnable top top io.vertx.rx.java.ReadStreamSubscriber
      StackMap stack: java.lang.Throwable
        29: aload 4
            monitorexit
        30: athrow
        start local 2 // java.lang.Object adapted
        start local 3 // io.vertx.core.Handler handler
        31: .line 131
      StackMap locals: io.vertx.rx.java.ReadStreamSubscriber java.lang.Runnable java.lang.Object io.vertx.core.Handler
      StackMap stack:
            aload 3 /* handler */
            aload 2 /* adapted */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 3 // io.vertx.core.Handler handler
        end local 2 // java.lang.Object adapted
        32: .line 88
            goto 1
        33: .line 133
      StackMap locals:
      StackMap stack:
            aload 1 /* action */
            invokeinterface java.lang.Runnable.run:()V
        34: .line 134
            return
        end local 1 // java.lang.Runnable action
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   35     0         this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
            1   35     1       action  Ljava/lang/Runnable;
            7    8     2      adapted  TJ;
           27   29     2      adapted  TJ;
           31   32     2      adapted  TJ;
            3    8     3      handler  Lio/vertx/core/Handler<TJ;>;
           27   29     3      handler  Lio/vertx/core/Handler<TJ;>;
           31   32     3      handler  Lio/vertx/core/Handler<TJ;>;
            6    7     5         item  TR;
           12   15     5      onError  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
           16   20     5      onError  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
           13   15     6       result  Ljava/lang/Throwable;
           17   20     6       result  Ljava/lang/Throwable;
           18   20     7  onCompleted  Lio/vertx/core/Handler<Ljava/lang/Void;>;
           23   25     5      request  I
      Exception table:
        from    to  target  type
           2    26      29  any
          27    28      29  any
          29    30      29  any

  public io.vertx.core.streams.ReadStream<J> endHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
        start local 1 // io.vertx.core.Handler handler
         0: .line 138
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 139
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.completed:Ljava/lang/Throwable;
            ifnull 2
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.pending:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.size:()I
            ifle 4
         2: .line 140
      StackMap locals: io.vertx.rx.java.ReadStreamSubscriber
      StackMap stack:
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.rx.java.ReadStreamSubscriber.endHandler:Lio/vertx/core/Handler;
         3: .line 141
            goto 6
         4: .line 142
      StackMap locals:
      StackMap stack:
            aload 1 /* handler */
            ifnull 6
         5: .line 143
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
         6: .line 138
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
            0   11     1  handler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
      Exception table:
        from    to  target  type
           1     7       8  any
           8     9       8  any
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/streams/ReadStream<TJ;>;
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.core.streams.ReadStream<J> exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
        start local 1 // io.vertx.core.Handler handler
         0: .line 152
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 153
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.completed:Ljava/lang/Throwable;
            ifnull 2
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.pending:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.size:()I
            ifle 4
         2: .line 154
      StackMap locals: io.vertx.rx.java.ReadStreamSubscriber
      StackMap stack:
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.rx.java.ReadStreamSubscriber.exceptionHandler:Lio/vertx/core/Handler;
         3: .line 155
            goto 6
         4: .line 156
      StackMap locals:
      StackMap stack:
            aload 1 /* handler */
            ifnull 6
         5: .line 157
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
         6: .line 152
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
            0   11     1  handler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
      Exception table:
        from    to  target  type
           1     7       8  any
           8     9       8  any
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/core/streams/ReadStream<TJ;>;
    MethodParameters:
         Name  Flags
      handler  

  public void onCompleted();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
         0: .line 166
            aload 0 /* this */
            getstatic io.vertx.rx.java.ReadStreamSubscriber.DONE_SENTINEL:Ljava/lang/Throwable;
            invokevirtual io.vertx.rx.java.ReadStreamSubscriber.onError:(Ljava/lang/Throwable;)V
         1: .line 167
            return
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;

  public void onError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
        start local 1 // java.lang.Throwable e
         0: .line 171
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 172
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.completed:Ljava/lang/Throwable;
            ifnull 4
         2: .line 173
            aload 2
            monitorexit
         3: return
         4: .line 175
      StackMap locals: io.vertx.rx.java.ReadStreamSubscriber
      StackMap stack:
            aload 0 /* this */
            aload 1 /* e */
            putfield io.vertx.rx.java.ReadStreamSubscriber.completed:Ljava/lang/Throwable;
         5: .line 171
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.rx.java.ReadStreamSubscriber.checkStatus:()V
        10: .line 178
            return
        end local 1 // java.lang.Throwable e
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
            0   11     1     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     3       7  any
           4     6       7  any
           7     8       7  any
    MethodParameters:
      Name  Flags
      e     

  public void onNext();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
        start local 1 // java.lang.Object item
         0: .line 182
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 183
            aload 0 /* this */
            getfield io.vertx.rx.java.ReadStreamSubscriber.pending:Ljava/util/ArrayDeque;
            aload 1 /* item */
            invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
            pop
         2: .line 182
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: io.vertx.rx.java.ReadStreamSubscriber java.lang.Object io.vertx.rx.java.ReadStreamSubscriber
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.rx.java.ReadStreamSubscriber.checkStatus:()V
         7: .line 186
            return
        end local 1 // java.lang.Object item
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
            0    8     1  item  TR;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: (TR;)V
    MethodParameters:
      Name  Flags
      item  

  public io.vertx.core.streams.StreamBase exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/StreamBase;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.rx.java.ReadStreamSubscriber.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$0();
    descriptor: ()V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 30
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$1(io.vertx.core.Handler, io.vertx.core.Handler, java.lang.Throwable);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/Handler;Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
         0: .line 113
            aload 1
            ifnull 7
         1: .line 114
            aload 1
            aload 2
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 116
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 3
         4: .line 117
            aload 0
            ifnull 6
         5: .line 118
            aload 0
            aconst_null
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         6: .line 120
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
         7: .line 117
      StackMap locals:
      StackMap stack:
            aload 0
            ifnull 9
         8: .line 118
            aload 0
            aconst_null
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         9: .line 121
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           0     3       3  any

  private void lambda$2(int);
    descriptor: (I)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.rx.java.ReadStreamSubscriber this
         0: .line 125
            aload 0 /* this */
            iload 1
            i2l
            invokevirtual io.vertx.rx.java.ReadStreamSubscriber.request:(J)V
            return
        end local 0 // io.vertx.rx.java.ReadStreamSubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/rx/java/ReadStreamSubscriber<TR;TJ;>;
}
Signature: <R:Ljava/lang/Object;J:Ljava/lang/Object;>Lrx/Subscriber<TR;>;Lio/vertx/core/streams/ReadStream<TJ;>;
SourceFile: "ReadStreamSubscriber.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles