class io.vertx.rx.java.ObservableReadStream$Sub implements rx.Subscription, rx.Producer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.vertx.rx.java.ObservableReadStream$Sub
  super_class: java.lang.Object
{
  private io.vertx.rx.java.ObservableReadStream<T, R>.Adapter adapter;
    descriptor: Lio/vertx/rx/java/ObservableReadStream$Adapter;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/rx/java/ObservableReadStream<TT;TR;>.Adapter;

  final io.vertx.rx.java.ObservableReadStream this$0;
    descriptor: Lio/vertx/rx/java/ObservableReadStream;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(io.vertx.rx.java.ObservableReadStream<T, R>.Adapter);
    descriptor: (Lio/vertx/rx/java/ObservableReadStream;Lio/vertx/rx/java/ObservableReadStream$Adapter;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.rx.java.ObservableReadStream$Sub this
        start local 2 // io.vertx.rx.java.ObservableReadStream$Adapter queue
         0: .line 53
            aload 0 /* this */
            aload 1
            putfield io.vertx.rx.java.ObservableReadStream$Sub.this$0:Lio/vertx/rx/java/ObservableReadStream;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 54
            aload 0 /* this */
            aload 2 /* queue */
            putfield io.vertx.rx.java.ObservableReadStream$Sub.adapter:Lio/vertx/rx/java/ObservableReadStream$Adapter;
         2: .line 55
            return
        end local 2 // io.vertx.rx.java.ObservableReadStream$Adapter queue
        end local 0 // io.vertx.rx.java.ObservableReadStream$Sub this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/vertx/rx/java/ObservableReadStream$Sub;
            0    3     2  queue  Lio/vertx/rx/java/ObservableReadStream<TT;TR;>.Adapter;
    Signature: (Lio/vertx/rx/java/ObservableReadStream<TT;TR;>.Adapter;)V
    MethodParameters:
        Name  Flags
      this$0  final
      queue   

  public void request(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.vertx.rx.java.ObservableReadStream$Sub this
        start local 1 // long n
         0: .line 59
            lload 1 /* n */
            lconst_0
            lcmp
            ifge 2
         1: .line 60
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot request negative items:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* n */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.rx.java.ObservableReadStream$Sub.adapter:Lio/vertx/rx/java/ObservableReadStream$Adapter;
            lload 1 /* n */
            invokevirtual io.vertx.rx.java.ObservableReadStream$Adapter.request:(J)V
         3: .line 63
            return
        end local 1 // long n
        end local 0 // io.vertx.rx.java.ObservableReadStream$Sub this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/rx/java/ObservableReadStream$Sub;
            0    4     1     n  J
    MethodParameters:
      Name  Flags
      n     

  public void unsubscribe();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.vertx.rx.java.ObservableReadStream$Sub this
         0: .line 67
            aload 0 /* this */
            getfield io.vertx.rx.java.ObservableReadStream$Sub.this$0:Lio/vertx/rx/java/ObservableReadStream;
            getfield io.vertx.rx.java.ObservableReadStream.subscription:Ljava/util/concurrent/atomic/AtomicReference;
            aload 0 /* this */
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 13
         1: .line 69
            aload 0 /* this */
            getfield io.vertx.rx.java.ObservableReadStream$Sub.this$0:Lio/vertx/rx/java/ObservableReadStream;
            dup
            astore 2
            monitorenter
         2: .line 70
            aload 0 /* this */
            getfield io.vertx.rx.java.ObservableReadStream$Sub.adapter:Lio/vertx/rx/java/ObservableReadStream$Adapter;
            invokevirtual io.vertx.rx.java.ObservableReadStream$Adapter.dispose:()Z
            istore 1 /* resume */
        start local 1 // boolean resume
         3: .line 69
            aload 2
            monitorexit
         4: goto 7
        end local 1 // boolean resume
      StackMap locals: io.vertx.rx.java.ObservableReadStream$Sub top io.vertx.rx.java.ObservableReadStream
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
        start local 1 // boolean resume
         7: .line 72
      StackMap locals: io.vertx.rx.java.ObservableReadStream$Sub int
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.rx.java.ObservableReadStream$Sub.this$0:Lio/vertx/rx/java/ObservableReadStream;
            getfield io.vertx.rx.java.ObservableReadStream.stream:Lio/vertx/core/streams/ReadStream;
            invokestatic io.vertx.rx.java.RxHelper.setNullHandlers:(Lio/vertx/core/streams/ReadStream;)V
         8: .line 73
            iload 1 /* resume */
            ifeq 12
         9: .line 75
            aload 0 /* this */
            getfield io.vertx.rx.java.ObservableReadStream$Sub.this$0:Lio/vertx/rx/java/ObservableReadStream;
            getfield io.vertx.rx.java.ObservableReadStream.stream:Lio/vertx/core/streams/ReadStream;
            invokeinterface io.vertx.core.streams.ReadStream.resume:()Lio/vertx/core/streams/ReadStream;
            pop
        10: .line 76
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Exception
        11: pop
        12: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.rx.java.ObservableReadStream$Sub.this$0:Lio/vertx/rx/java/ObservableReadStream;
            iconst_0
            putfield io.vertx.rx.java.ObservableReadStream.subscribed:Z
        end local 1 // boolean resume
        13: .line 81
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.rx.java.ObservableReadStream$Sub this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lio/vertx/rx/java/ObservableReadStream$Sub;
            3    5     1  resume  Z
            7   13     1  resume  Z
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
           9    10      11  Class java.lang.Exception

  public boolean isUnsubscribed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.rx.java.ObservableReadStream$Sub this
         0: .line 85
            aload 0 /* this */
            getfield io.vertx.rx.java.ObservableReadStream$Sub.this$0:Lio/vertx/rx/java/ObservableReadStream;
            getfield io.vertx.rx.java.ObservableReadStream.subscription:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            aload 0 /* this */
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.rx.java.ObservableReadStream$Sub this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/rx/java/ObservableReadStream$Sub;
}
SourceFile: "ObservableReadStream.java"
NestHost: io.vertx.rx.java.ObservableReadStream
InnerClasses:
  private abstract Adapter = io.vertx.rx.java.ObservableReadStream$Adapter of io.vertx.rx.java.ObservableReadStream
  private Sub = io.vertx.rx.java.ObservableReadStream$Sub of io.vertx.rx.java.ObservableReadStream