abstract class io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer<T> extends java.util.concurrent.atomic.AtomicReference<io.reactivex.internal.operators.observable.ObservableReplay$Node> implements io.reactivex.internal.operators.observable.ObservableReplay$ReplayBuffer<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer
  super_class: java.util.concurrent.atomic.AtomicReference
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2346567790059478686

  io.reactivex.internal.operators.observable.ObservableReplay$Node tail;
    descriptor: Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
    flags: (0x0000) 

  int size;
    descriptor: I
    flags: (0x0000) 

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
         0: .line 596
            aload 0 /* this */
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
         1: .line 597
            new io.reactivex.internal.operators.observable.ObservableReplay$Node
            dup
            aconst_null
            invokespecial io.reactivex.internal.operators.observable.ObservableReplay$Node.<init>:(Ljava/lang/Object;)V
            astore 1 /* n */
        start local 1 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
         2: .line 598
            aload 0 /* this */
            aload 1 /* n */
            putfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.tail:Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
         3: .line 599
            aload 0 /* this */
            aload 1 /* n */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.set:(Ljava/lang/Object;)V
         4: .line 600
            return
        end local 1 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            2    5     1     n  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;

  final void addLast(io.reactivex.internal.operators.observable.ObservableReplay$Node);
    descriptor: (Lio/reactivex/internal/operators/observable/ObservableReplay$Node;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
        start local 1 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
         0: .line 607
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.tail:Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
            aload 1 /* n */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$Node.set:(Ljava/lang/Object;)V
         1: .line 608
            aload 0 /* this */
            aload 1 /* n */
            putfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.tail:Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
         2: .line 609
            aload 0 /* this */
            dup
            getfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.size:I
            iconst_1
            iadd
            putfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.size:I
         3: .line 610
            return
        end local 1 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            0    4     1     n  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
    MethodParameters:
      Name  Flags
      n     

  final void removeFirst();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
         0: .line 615
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.get:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.observable.ObservableReplay$Node
            astore 1 /* head */
        start local 1 // io.reactivex.internal.operators.observable.ObservableReplay$Node head
         1: .line 616
            aload 1 /* head */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$Node.get:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.observable.ObservableReplay$Node
            astore 2 /* next */
        start local 2 // io.reactivex.internal.operators.observable.ObservableReplay$Node next
         2: .line 617
            aload 0 /* this */
            dup
            getfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.size:I
            iconst_1
            isub
            putfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.size:I
         3: .line 620
            aload 0 /* this */
            aload 2 /* next */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.setFirst:(Lio/reactivex/internal/operators/observable/ObservableReplay$Node;)V
         4: .line 621
            return
        end local 2 // io.reactivex.internal.operators.observable.ObservableReplay$Node next
        end local 1 // io.reactivex.internal.operators.observable.ObservableReplay$Node head
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            1    5     1  head  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
            2    5     2  next  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;

  final void trimHead();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
         0: .line 624
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.get:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.observable.ObservableReplay$Node
            astore 1 /* head */
        start local 1 // io.reactivex.internal.operators.observable.ObservableReplay$Node head
         1: .line 625
            aload 1 /* head */
            getfield io.reactivex.internal.operators.observable.ObservableReplay$Node.value:Ljava/lang/Object;
            ifnull 5
         2: .line 626
            new io.reactivex.internal.operators.observable.ObservableReplay$Node
            dup
            aconst_null
            invokespecial io.reactivex.internal.operators.observable.ObservableReplay$Node.<init>:(Ljava/lang/Object;)V
            astore 2 /* n */
        start local 2 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
         3: .line 627
            aload 2 /* n */
            aload 1 /* head */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$Node.get:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.observable.ObservableReplay$Node
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$Node.lazySet:(Ljava/lang/Object;)V
         4: .line 628
            aload 0 /* this */
            aload 2 /* n */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.set:(Ljava/lang/Object;)V
        end local 2 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
         5: .line 630
      StackMap locals: io.reactivex.internal.operators.observable.ObservableReplay$Node
      StackMap stack:
            return
        end local 1 // io.reactivex.internal.operators.observable.ObservableReplay$Node head
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            1    6     1  head  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
            3    5     2     n  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;

  final void removeSome(int);
    descriptor: (I)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
        start local 1 // int n
         0: .line 633
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.get:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.observable.ObservableReplay$Node
            astore 2 /* head */
        start local 2 // io.reactivex.internal.operators.observable.ObservableReplay$Node head
         1: .line 634
            goto 5
         2: .line 635
      StackMap locals: io.reactivex.internal.operators.observable.ObservableReplay$Node
      StackMap stack:
            aload 2 /* head */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$Node.get:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.observable.ObservableReplay$Node
            astore 2 /* head */
         3: .line 636
            iinc 1 /* n */ -1
         4: .line 637
            aload 0 /* this */
            dup
            getfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.size:I
            iconst_1
            isub
            putfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.size:I
         5: .line 634
      StackMap locals:
      StackMap stack:
            iload 1 /* n */
            ifgt 2
         6: .line 640
            aload 0 /* this */
            aload 2 /* head */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.setFirst:(Lio/reactivex/internal/operators/observable/ObservableReplay$Node;)V
         7: .line 642
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.get:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.observable.ObservableReplay$Node
            astore 2 /* head */
         8: .line 643
            aload 2 /* head */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$Node.get:()Ljava/lang/Object;
            ifnonnull 10
         9: .line 644
            aload 0 /* this */
            aload 2 /* head */
            putfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.tail:Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
        10: .line 646
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.reactivex.internal.operators.observable.ObservableReplay$Node head
        end local 1 // int n
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            0   11     1     n  I
            1   11     2  head  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
    MethodParameters:
      Name  Flags
      n     

  final void setFirst(io.reactivex.internal.operators.observable.ObservableReplay$Node);
    descriptor: (Lio/reactivex/internal/operators/observable/ObservableReplay$Node;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
        start local 1 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
         0: .line 652
            aload 0 /* this */
            aload 1 /* n */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.set:(Ljava/lang/Object;)V
         1: .line 653
            return
        end local 1 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            0    2     1     n  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
    MethodParameters:
      Name  Flags
      n     

  public final void next();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
        start local 1 // java.lang.Object value
         0: .line 657
            aload 0 /* this */
            aload 1 /* value */
            invokestatic io.reactivex.internal.util.NotificationLite.next:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.enterTransform:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* o */
        start local 2 // java.lang.Object o
         1: .line 658
            new io.reactivex.internal.operators.observable.ObservableReplay$Node
            dup
            aload 2 /* o */
            invokespecial io.reactivex.internal.operators.observable.ObservableReplay$Node.<init>:(Ljava/lang/Object;)V
            astore 3 /* n */
        start local 3 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
         2: .line 659
            aload 0 /* this */
            aload 3 /* n */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.addLast:(Lio/reactivex/internal/operators/observable/ObservableReplay$Node;)V
         3: .line 660
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.truncate:()V
         4: .line 661
            return
        end local 3 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
        end local 2 // java.lang.Object o
        end local 1 // java.lang.Object value
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            0    5     1  value  TT;
            1    5     2      o  Ljava/lang/Object;
            2    5     3      n  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
    Signature: (TT;)V
    MethodParameters:
       Name  Flags
      value  

  public final void error(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
        start local 1 // java.lang.Throwable e
         0: .line 665
            aload 0 /* this */
            aload 1 /* e */
            invokestatic io.reactivex.internal.util.NotificationLite.error:(Ljava/lang/Throwable;)Ljava/lang/Object;
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.enterTransform:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* o */
        start local 2 // java.lang.Object o
         1: .line 666
            new io.reactivex.internal.operators.observable.ObservableReplay$Node
            dup
            aload 2 /* o */
            invokespecial io.reactivex.internal.operators.observable.ObservableReplay$Node.<init>:(Ljava/lang/Object;)V
            astore 3 /* n */
        start local 3 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
         2: .line 667
            aload 0 /* this */
            aload 3 /* n */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.addLast:(Lio/reactivex/internal/operators/observable/ObservableReplay$Node;)V
         3: .line 668
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.truncateFinal:()V
         4: .line 669
            return
        end local 3 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
        end local 2 // java.lang.Object o
        end local 1 // java.lang.Throwable e
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            0    5     1     e  Ljava/lang/Throwable;
            1    5     2     o  Ljava/lang/Object;
            2    5     3     n  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
    MethodParameters:
      Name  Flags
      e     

  public final void complete();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
         0: .line 673
            aload 0 /* this */
            invokestatic io.reactivex.internal.util.NotificationLite.complete:()Ljava/lang/Object;
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.enterTransform:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* o */
        start local 1 // java.lang.Object o
         1: .line 674
            new io.reactivex.internal.operators.observable.ObservableReplay$Node
            dup
            aload 1 /* o */
            invokespecial io.reactivex.internal.operators.observable.ObservableReplay$Node.<init>:(Ljava/lang/Object;)V
            astore 2 /* n */
        start local 2 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
         2: .line 675
            aload 0 /* this */
            aload 2 /* n */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.addLast:(Lio/reactivex/internal/operators/observable/ObservableReplay$Node;)V
         3: .line 676
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.truncateFinal:()V
         4: .line 677
            return
        end local 2 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
        end local 1 // java.lang.Object o
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            1    5     1     o  Ljava/lang/Object;
            2    5     2     n  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;

  public final void replay(io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable<T>);
    descriptor: (Lio/reactivex/internal/operators/observable/ObservableReplay$InnerDisposable;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
        start local 1 // io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable output
         0: .line 681
            aload 1 /* output */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable.getAndIncrement:()I
            ifeq 2
         1: .line 682
            return
         2: .line 685
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* missed */
        start local 2 // int missed
         3: .line 688
      StackMap locals: int
      StackMap stack:
            aload 1 /* output */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable.index:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.observable.ObservableReplay$Node
            astore 3 /* node */
        start local 3 // io.reactivex.internal.operators.observable.ObservableReplay$Node node
         4: .line 689
            aload 3 /* node */
            ifnonnull 7
         5: .line 690
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.getHead:()Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
            astore 3 /* node */
         6: .line 691
            aload 1 /* output */
            aload 3 /* node */
            putfield io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable.index:Ljava/lang/Object;
         7: .line 695
      StackMap locals: io.reactivex.internal.operators.observable.ObservableReplay$Node
      StackMap stack:
            aload 1 /* output */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable.isDisposed:()Z
            ifeq 10
         8: .line 696
            aload 1 /* output */
            aconst_null
            putfield io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable.index:Ljava/lang/Object;
         9: .line 697
            return
        10: .line 700
      StackMap locals:
      StackMap stack:
            aload 3 /* node */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$Node.get:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.observable.ObservableReplay$Node
            astore 4 /* v */
        start local 4 // io.reactivex.internal.operators.observable.ObservableReplay$Node v
        11: .line 701
            aload 4 /* v */
            ifnull 18
        12: .line 702
            aload 0 /* this */
            aload 4 /* v */
            getfield io.reactivex.internal.operators.observable.ObservableReplay$Node.value:Ljava/lang/Object;
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.leaveTransform:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* o */
        start local 5 // java.lang.Object o
        13: .line 703
            aload 5 /* o */
            aload 1 /* output */
            getfield io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable.child:Lio/reactivex/Observer;
            invokestatic io.reactivex.internal.util.NotificationLite.accept:(Ljava/lang/Object;Lio/reactivex/Observer;)Z
            ifeq 16
        14: .line 704
            aload 1 /* output */
            aconst_null
            putfield io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable.index:Ljava/lang/Object;
        15: .line 705
            return
        16: .line 707
      StackMap locals: io.reactivex.internal.operators.observable.ObservableReplay$Node java.lang.Object
      StackMap stack:
            aload 4 /* v */
            astore 3 /* node */
        end local 5 // java.lang.Object o
        end local 4 // io.reactivex.internal.operators.observable.ObservableReplay$Node v
        17: .line 694
            goto 7
        18: .line 713
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            aload 3 /* node */
            putfield io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable.index:Ljava/lang/Object;
        19: .line 715
            aload 1 /* output */
            iload 2 /* missed */
            ineg
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable.addAndGet:(I)I
            istore 2 /* missed */
        20: .line 716
            iload 2 /* missed */
            ifne 3
        end local 3 // io.reactivex.internal.operators.observable.ObservableReplay$Node node
        21: .line 721
            return
        end local 2 // int missed
        end local 1 // io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable output
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0    this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            0   22     1  output  Lio/reactivex/internal/operators/observable/ObservableReplay$InnerDisposable<TT;>;
            3   22     2  missed  I
            4   21     3    node  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
           11   17     4       v  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
           13   17     5       o  Ljava/lang/Object;
    Signature: (Lio/reactivex/internal/operators/observable/ObservableReplay$InnerDisposable<TT;>;)V
    MethodParameters:
        Name  Flags
      output  

  java.lang.Object enterTransform(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
        start local 1 // java.lang.Object value
         0: .line 730
            aload 1 /* value */
            areturn
        end local 1 // java.lang.Object value
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            0    1     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  java.lang.Object leaveTransform(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
        start local 1 // java.lang.Object value
         0: .line 739
            aload 1 /* value */
            areturn
        end local 1 // java.lang.Object value
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            0    1     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  abstract void truncate();
    descriptor: ()V
    flags: (0x0400) ACC_ABSTRACT

  void truncateFinal();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
         0: .line 752
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.trimHead:()V
         1: .line 753
            return
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;

  final void collect(java.util.Collection<? super T>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
        start local 1 // java.util.Collection output
         0: .line 755
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.getHead:()Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
            astore 2 /* n */
        start local 2 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
         1: .line 757
      StackMap locals: io.reactivex.internal.operators.observable.ObservableReplay$Node
      StackMap stack:
            aload 2 /* n */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$Node.get:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.observable.ObservableReplay$Node
            astore 3 /* next */
        start local 3 // io.reactivex.internal.operators.observable.ObservableReplay$Node next
         2: .line 758
            aload 3 /* next */
            ifnull 10
         3: .line 759
            aload 3 /* next */
            getfield io.reactivex.internal.operators.observable.ObservableReplay$Node.value:Ljava/lang/Object;
            astore 4 /* o */
        start local 4 // java.lang.Object o
         4: .line 760
            aload 0 /* this */
            aload 4 /* o */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.leaveTransform:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* v */
        start local 5 // java.lang.Object v
         5: .line 761
            aload 5 /* v */
            invokestatic io.reactivex.internal.util.NotificationLite.isComplete:(Ljava/lang/Object;)Z
            ifne 10
            aload 5 /* v */
            invokestatic io.reactivex.internal.util.NotificationLite.isError:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 762
            goto 10
         7: .line 764
      StackMap locals: io.reactivex.internal.operators.observable.ObservableReplay$Node java.lang.Object java.lang.Object
      StackMap stack:
            aload 1 /* output */
            aload 5 /* v */
            invokestatic io.reactivex.internal.util.NotificationLite.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         8: .line 765
            aload 3 /* next */
            astore 2 /* n */
        end local 5 // java.lang.Object v
        end local 4 // java.lang.Object o
        end local 3 // io.reactivex.internal.operators.observable.ObservableReplay$Node next
         9: .line 756
            goto 1
        10: .line 770
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.reactivex.internal.operators.observable.ObservableReplay$Node n
        end local 1 // java.util.Collection output
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
            0   11     1  output  Ljava/util/Collection<-TT;>;
            1   11     2       n  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
            2    9     3    next  Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
            4    9     4       o  Ljava/lang/Object;
            5    9     5       v  Ljava/lang/Object;
    Signature: (Ljava/util/Collection<-TT;>;)V
    MethodParameters:
        Name  Flags
      output  

  boolean hasError();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
         0: .line 772
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.tail:Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
            getfield io.reactivex.internal.operators.observable.ObservableReplay$Node.value:Ljava/lang/Object;
            ifnull 1
            aload 0 /* this */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.tail:Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
            getfield io.reactivex.internal.operators.observable.ObservableReplay$Node.value:Ljava/lang/Object;
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.leaveTransform:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic io.reactivex.internal.util.NotificationLite.isError:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;

  boolean hasCompleted();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
         0: .line 775
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.tail:Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
            getfield io.reactivex.internal.operators.observable.ObservableReplay$Node.value:Ljava/lang/Object;
            ifnull 1
            aload 0 /* this */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.tail:Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
            getfield io.reactivex.internal.operators.observable.ObservableReplay$Node.value:Ljava/lang/Object;
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.leaveTransform:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic io.reactivex.internal.util.NotificationLite.isComplete:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;

  io.reactivex.internal.operators.observable.ObservableReplay$Node getHead();
    descriptor: ()Lio/reactivex/internal/operators/observable/ObservableReplay$Node;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
         0: .line 779
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer.get:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.observable.ObservableReplay$Node
            areturn
        end local 0 // io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/internal/operators/observable/ObservableReplay$BoundedReplayBuffer<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/util/concurrent/atomic/AtomicReference<Lio/reactivex/internal/operators/observable/ObservableReplay$Node;>;Lio/reactivex/internal/operators/observable/ObservableReplay$ReplayBuffer<TT;>;
SourceFile: "ObservableReplay.java"
NestHost: io.reactivex.internal.operators.observable.ObservableReplay
InnerClasses:
  abstract BoundedReplayBuffer = io.reactivex.internal.operators.observable.ObservableReplay$BoundedReplayBuffer of io.reactivex.internal.operators.observable.ObservableReplay
  final InnerDisposable = io.reactivex.internal.operators.observable.ObservableReplay$InnerDisposable of io.reactivex.internal.operators.observable.ObservableReplay
  final Node = io.reactivex.internal.operators.observable.ObservableReplay$Node of io.reactivex.internal.operators.observable.ObservableReplay
  abstract ReplayBuffer = io.reactivex.internal.operators.observable.ObservableReplay$ReplayBuffer of io.reactivex.internal.operators.observable.ObservableReplay