public final class org.apache.cassandra.utils.concurrent.WaitQueue
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.cassandra.utils.concurrent.WaitQueue
  super_class: java.lang.Object
{
  private static final int CANCELLED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final int SIGNALLED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int NOT_SET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater signalledUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.concurrent.ConcurrentLinkedQueue<org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal> queue;
    descriptor: Ljava/util/concurrent/ConcurrentLinkedQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentLinkedQueue<Lorg/apache/cassandra/utils/concurrent/WaitQueue$RegisteredSignal;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 71
            ldc Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.cassandra.utils.concurrent.WaitQueue.$assertionsDisabled:Z
         3: .line 78
            ldc Lorg/apache/cassandra/utils/concurrent/WaitQueue$RegisteredSignal;
            ldc "state"
            invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            putstatic org.apache.cassandra.utils.concurrent.WaitQueue.signalledUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            aload 0 /* this */
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
            putfield org.apache.cassandra.utils.concurrent.WaitQueue.queue:Ljava/util/concurrent/ConcurrentLinkedQueue;
         2: .line 71
            return
        end local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/utils/concurrent/WaitQueue;

  public org.apache.cassandra.utils.concurrent.WaitQueue$Signal register();
    descriptor: ()Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
         0: .line 89
            new org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal.<init>:(Lorg/apache/cassandra/utils/concurrent/WaitQueue;)V
            astore 1 /* signal */
        start local 1 // org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal signal
         1: .line 90
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.WaitQueue.queue:Ljava/util/concurrent/ConcurrentLinkedQueue;
            aload 1 /* signal */
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
            pop
         2: .line 91
            aload 1 /* signal */
            areturn
        end local 1 // org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal signal
        end local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            1    3     1  signal  Lorg/apache/cassandra/utils/concurrent/WaitQueue$RegisteredSignal;

  public org.apache.cassandra.utils.concurrent.WaitQueue$Signal register(com.codahale.metrics.Timer$Context);
    descriptor: (Lcom/codahale/metrics/Timer$Context;)Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
        start local 1 // com.codahale.metrics.Timer$Context context
         0: .line 102
            getstatic org.apache.cassandra.utils.concurrent.WaitQueue.$assertionsDisabled:Z
            ifne 1
            aload 1 /* context */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 103
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.utils.concurrent.WaitQueue$TimedSignal
            dup
            aload 0 /* this */
            aload 1 /* context */
            invokespecial org.apache.cassandra.utils.concurrent.WaitQueue$TimedSignal.<init>:(Lorg/apache/cassandra/utils/concurrent/WaitQueue;Lcom/codahale/metrics/Timer$Context;)V
            astore 2 /* signal */
        start local 2 // org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal signal
         2: .line 104
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.WaitQueue.queue:Ljava/util/concurrent/ConcurrentLinkedQueue;
            aload 2 /* signal */
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
            pop
         3: .line 105
            aload 2 /* signal */
            areturn
        end local 2 // org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal signal
        end local 1 // com.codahale.metrics.Timer$Context context
        end local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            0    4     1  context  Lcom/codahale/metrics/Timer$Context;
            2    4     2   signal  Lorg/apache/cassandra/utils/concurrent/WaitQueue$RegisteredSignal;
    MethodParameters:
         Name  Flags
      context  

  public boolean signal();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
         0: .line 113
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.hasWaiters:()Z
            ifne 2
         1: .line 114
            iconst_0
            ireturn
         2: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.WaitQueue.queue:Ljava/util/concurrent/ConcurrentLinkedQueue;
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.poll:()Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal
            astore 1 /* s */
        start local 1 // org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal s
         3: .line 118
            aload 1 /* s */
            ifnull 4
            aload 1 /* s */
            invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal.signal:()Ljava/lang/Thread;
            ifnull 2
         4: .line 119
      StackMap locals: org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal
      StackMap stack:
            aload 1 /* s */
            ifnull 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal s
        end local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            3    6     1     s  Lorg/apache/cassandra/utils/concurrent/WaitQueue$RegisteredSignal;

  public void signalAll();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
         0: .line 128
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.hasWaiters:()Z
            ifne 2
         1: .line 129
            return
         2: .line 135
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: iconst_5
            istore 2 /* s */
        start local 2 // int s
         4: .line 136
            aconst_null
            astore 3 /* randomThread */
        start local 3 // java.lang.Thread randomThread
         5: .line 137
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.WaitQueue.queue:Ljava/util/concurrent/ConcurrentLinkedQueue;
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.iterator:()Ljava/util/Iterator;
            astore 4 /* iter */
        start local 4 // java.util.Iterator iter
         6: .line 138
            goto 16
         7: .line 140
      StackMap locals: org.apache.cassandra.utils.concurrent.WaitQueue int int java.lang.Thread java.util.Iterator
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal
            astore 5 /* signal */
        start local 5 // org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal signal
         8: .line 141
            aload 5 /* signal */
            invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal.signal:()Ljava/lang/Thread;
            astore 6 /* signalled */
        start local 6 // java.lang.Thread signalled
         9: .line 143
            aload 6 /* signalled */
            ifnull 15
        10: .line 145
            aload 6 /* signalled */
            aload 3 /* randomThread */
            if_acmpne 12
        11: .line 146
            goto 17
        12: .line 148
      StackMap locals: org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal java.lang.Thread
      StackMap stack:
            iinc 1 /* i */ 1
            iload 1 /* i */
            iload 2 /* s */
            if_icmpne 15
        13: .line 150
            aload 6 /* signalled */
            astore 3 /* randomThread */
        14: .line 151
            iload 2 /* s */
            iconst_1
            ishl
            istore 2 /* s */
        15: .line 155
      StackMap locals:
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        end local 6 // java.lang.Thread signalled
        end local 5 // org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal signal
        16: .line 138
      StackMap locals:
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        17: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.util.Iterator iter
        end local 3 // java.lang.Thread randomThread
        end local 2 // int s
        end local 1 // int i
        end local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            3   18     1             i  I
            4   18     2             s  I
            5   18     3  randomThread  Ljava/lang/Thread;
            6   18     4          iter  Ljava/util/Iterator<Lorg/apache/cassandra/utils/concurrent/WaitQueue$RegisteredSignal;>;
            8   16     5        signal  Lorg/apache/cassandra/utils/concurrent/WaitQueue$RegisteredSignal;
            9   16     6     signalled  Ljava/lang/Thread;

  private void cleanUpCancelled();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
         0: .line 162
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.WaitQueue.queue:Ljava/util/concurrent/ConcurrentLinkedQueue;
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.iterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 163
            goto 5
         2: .line 165
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal
            astore 2 /* s */
        start local 2 // org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal s
         3: .line 166
            aload 2 /* s */
            invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal.isCancelled:()Z
            ifeq 5
         4: .line 167
            aload 1 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        end local 2 // org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal s
         5: .line 163
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 169
            return
        end local 1 // java.util.Iterator iter
        end local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            1    7     1  iter  Ljava/util/Iterator<Lorg/apache/cassandra/utils/concurrent/WaitQueue$RegisteredSignal;>;
            3    5     2     s  Lorg/apache/cassandra/utils/concurrent/WaitQueue$RegisteredSignal;

  public boolean hasWaiters();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
         0: .line 173
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.WaitQueue.queue:Ljava/util/concurrent/ConcurrentLinkedQueue;
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.isEmpty:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/utils/concurrent/WaitQueue;

  public int getWaiting();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
         0: .line 182
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.hasWaiters:()Z
            ifne 2
         1: .line 183
            iconst_0
            ireturn
         2: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.WaitQueue.queue:Ljava/util/concurrent/ConcurrentLinkedQueue;
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.iterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         3: .line 185
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         4: .line 186
            goto 8
         5: .line 188
      StackMap locals: java.util.Iterator int
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.concurrent.WaitQueue$Signal
            astore 3 /* next */
        start local 3 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal next
         6: .line 189
            aload 3 /* next */
            invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.isCancelled:()Z
            ifne 8
         7: .line 190
            iinc 2 /* count */ 1
        end local 3 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal next
         8: .line 186
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 192
            iload 2 /* count */
            ireturn
        end local 2 // int count
        end local 1 // java.util.Iterator iter
        end local 0 // org.apache.cassandra.utils.concurrent.WaitQueue this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            3   10     1   iter  Ljava/util/Iterator<Lorg/apache/cassandra/utils/concurrent/WaitQueue$RegisteredSignal;>;
            4   10     2  count  I
            6    8     3   next  Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;

  public static org.apache.cassandra.utils.concurrent.WaitQueue$Signal any(org.apache.cassandra.utils.concurrent.WaitQueue$Signal[]);
    descriptor: ([Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;)Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal[] signals
         0: .line 511
            new org.apache.cassandra.utils.concurrent.WaitQueue$AnySignal
            dup
            aload 0 /* signals */
            invokespecial org.apache.cassandra.utils.concurrent.WaitQueue$AnySignal.<init>:([Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;)V
            areturn
        end local 0 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal[] signals
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  signals  [Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
    MethodParameters:
         Name  Flags
      signals  

  public static org.apache.cassandra.utils.concurrent.WaitQueue$Signal all(org.apache.cassandra.utils.concurrent.WaitQueue$Signal[]);
    descriptor: ([Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;)Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal[] signals
         0: .line 520
            new org.apache.cassandra.utils.concurrent.WaitQueue$AllSignal
            dup
            aload 0 /* signals */
            invokespecial org.apache.cassandra.utils.concurrent.WaitQueue$AllSignal.<init>:([Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;)V
            areturn
        end local 0 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal[] signals
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  signals  [Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
    MethodParameters:
         Name  Flags
      signals  

  public static void waitOnCondition(java.util.function.BooleanSupplier, org.apache.cassandra.utils.concurrent.WaitQueue);
    descriptor: (Ljava/util/function/BooleanSupplier;Lorg/apache/cassandra/utils/concurrent/WaitQueue;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // java.util.function.BooleanSupplier condition
        start local 1 // org.apache.cassandra.utils.concurrent.WaitQueue queue
         0: .line 528
            goto 6
         1: .line 530
      StackMap locals:
      StackMap stack:
            aload 1 /* queue */
            invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.register:()Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
            astore 2 /* s */
        start local 2 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal s
         2: .line 531
            aload 0 /* condition */
            invokeinterface java.util.function.BooleanSupplier.getAsBoolean:()Z
            ifne 5
         3: .line 533
            aload 2 /* s */
            invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.awaitUninterruptibly:()V
         4: .line 534
            goto 6
         5: .line 537
      StackMap locals: org.apache.cassandra.utils.concurrent.WaitQueue$Signal
      StackMap stack:
            aload 2 /* s */
            invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.cancel:()V
        end local 2 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal s
         6: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* condition */
            invokeinterface java.util.function.BooleanSupplier.getAsBoolean:()Z
            ifeq 1
         7: .line 540
            return
        end local 1 // org.apache.cassandra.utils.concurrent.WaitQueue queue
        end local 0 // java.util.function.BooleanSupplier condition
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  condition  Ljava/util/function/BooleanSupplier;
            0    8     1      queue  Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            2    6     2          s  Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
    MethodParameters:
           Name  Flags
      condition  
      queue      
}
SourceFile: "WaitQueue.java"
NestMembers:
  org.apache.cassandra.utils.concurrent.WaitQueue$AbstractSignal  org.apache.cassandra.utils.concurrent.WaitQueue$AllSignal  org.apache.cassandra.utils.concurrent.WaitQueue$AnySignal  org.apache.cassandra.utils.concurrent.WaitQueue$MultiSignal  org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal  org.apache.cassandra.utils.concurrent.WaitQueue$Signal  org.apache.cassandra.utils.concurrent.WaitQueue$TimedSignal
InnerClasses:
  public Context = com.codahale.metrics.Timer$Context of com.codahale.metrics.Timer
  public abstract AbstractSignal = org.apache.cassandra.utils.concurrent.WaitQueue$AbstractSignal of org.apache.cassandra.utils.concurrent.WaitQueue
  private AllSignal = org.apache.cassandra.utils.concurrent.WaitQueue$AllSignal of org.apache.cassandra.utils.concurrent.WaitQueue
  private AnySignal = org.apache.cassandra.utils.concurrent.WaitQueue$AnySignal of org.apache.cassandra.utils.concurrent.WaitQueue
  private abstract MultiSignal = org.apache.cassandra.utils.concurrent.WaitQueue$MultiSignal of org.apache.cassandra.utils.concurrent.WaitQueue
  private RegisteredSignal = org.apache.cassandra.utils.concurrent.WaitQueue$RegisteredSignal of org.apache.cassandra.utils.concurrent.WaitQueue
  public abstract Signal = org.apache.cassandra.utils.concurrent.WaitQueue$Signal of org.apache.cassandra.utils.concurrent.WaitQueue
  private final TimedSignal = org.apache.cassandra.utils.concurrent.WaitQueue$TimedSignal of org.apache.cassandra.utils.concurrent.WaitQueue