final class io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable extends io.reactivex.internal.observers.BasicIntQueueDisposable<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable
  super_class: io.reactivex.internal.observers.BasicIntQueueDisposable
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 7926949470189395511

  final io.reactivex.subjects.UnicastSubject this$0;
    descriptor: Lio/reactivex/subjects/UnicastSubject;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(io.reactivex.subjects.UnicastSubject);
    descriptor: (Lio/reactivex/subjects/UnicastSubject;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
         0: .line 522
            aload 0 /* this */
            aload 1
            putfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            aload 0 /* this */
            invokespecial io.reactivex.internal.observers.BasicIntQueueDisposable.<init>:()V
            return
        end local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;
    MethodParameters:
        Name  Flags
      this$0  final

  public int requestFusion(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
        start local 1 // int mode
         0: .line 528
            iload 1 /* mode */
            iconst_2
            iand
            ifeq 3
         1: .line 529
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            iconst_1
            putfield io.reactivex.subjects.UnicastSubject.enableOperatorFusion:Z
         2: .line 530
            iconst_2
            ireturn
         3: .line 532
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int mode
        end local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;
            0    4     1  mode  I
    MethodParameters:
      Name  Flags
      mode  

  public T poll();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
         0: .line 538
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            getfield io.reactivex.subjects.UnicastSubject.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.poll:()Ljava/lang/Object;
            areturn
        end local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;
    Exceptions:
      throws java.lang.Exception
    Signature: ()TT;
    RuntimeInvisibleAnnotations: 
      io.reactivex.annotations.Nullable()

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
         0: .line 543
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            getfield io.reactivex.subjects.UnicastSubject.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.isEmpty:()Z
            ireturn
        end local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
         0: .line 548
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            getfield io.reactivex.subjects.UnicastSubject.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
         1: .line 549
            return
        end local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
         0: .line 553
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            getfield io.reactivex.subjects.UnicastSubject.disposed:Z
            ifne 7
         1: .line 554
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            iconst_1
            putfield io.reactivex.subjects.UnicastSubject.disposed:Z
         2: .line 556
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            invokevirtual io.reactivex.subjects.UnicastSubject.doTerminate:()V
         3: .line 558
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            getfield io.reactivex.subjects.UnicastSubject.downstream:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.lazySet:(Ljava/lang/Object;)V
         4: .line 559
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            getfield io.reactivex.subjects.UnicastSubject.wip:Lio/reactivex/internal/observers/BasicIntQueueDisposable;
            invokevirtual io.reactivex.internal.observers.BasicIntQueueDisposable.getAndIncrement:()I
            ifne 7
         5: .line 560
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            getfield io.reactivex.subjects.UnicastSubject.downstream:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.lazySet:(Ljava/lang/Object;)V
         6: .line 561
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            getfield io.reactivex.subjects.UnicastSubject.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
         7: .line 564
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;

  public boolean isDisposed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
         0: .line 568
            aload 0 /* this */
            getfield io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable.this$0:Lio/reactivex/subjects/UnicastSubject;
            getfield io.reactivex.subjects.UnicastSubject.disposed:Z
            ireturn
        end local 0 // io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;
}
Signature: Lio/reactivex/internal/observers/BasicIntQueueDisposable<TT;>;
SourceFile: "UnicastSubject.java"
NestHost: io.reactivex.subjects.UnicastSubject
InnerClasses:
  final UnicastQueueDisposable = io.reactivex.subjects.UnicastSubject$UnicastQueueDisposable of io.reactivex.subjects.UnicastSubject