public class org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup
  super_class: java.lang.Object
{
  private final org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanupCallback callback;
    descriptor: Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanupCallback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected volatile int mutationsWaitingFor;
    descriptor: I
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup> mutationsWaitingForUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 104
            ldc Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;
            ldc "mutationsWaitingFor"
            invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
         1: .line 103
            putstatic org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup.mutationsWaitingForUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
         2: .line 104
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int, org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanupCallback);
    descriptor: (ILorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanupCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup this
        start local 1 // int mutationsWaitingFor
        start local 2 // org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanupCallback callback
         0: .line 106
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 108
            aload 0 /* this */
            iload 1 /* mutationsWaitingFor */
            putfield org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup.mutationsWaitingFor:I
         2: .line 109
            aload 0 /* this */
            aload 2 /* callback */
            putfield org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup.callback:Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanupCallback;
         3: .line 110
            return
        end local 2 // org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanupCallback callback
        end local 1 // int mutationsWaitingFor
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;
            0    4     1  mutationsWaitingFor  I
            0    4     2             callback  Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanupCallback;
    MethodParameters:
                     Name  Flags
      mutationsWaitingFor  
      callback             

  public void ackMutation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup this
         0: .line 114
            getstatic org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup.mutationsWaitingForUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.decrementAndGet:(Ljava/lang/Object;)I
            ifne 2
         1: .line 115
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup.callback:Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanupCallback;
            invokeinterface org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanupCallback.invoke:()V
         2: .line 116
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;
}
SourceFile: "BatchlogResponseHandler.java"
NestHost: org.apache.cassandra.service.BatchlogResponseHandler
InnerClasses:
  public BatchlogCleanup = org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup of org.apache.cassandra.service.BatchlogResponseHandler
  public abstract BatchlogCleanupCallback = org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanupCallback of org.apache.cassandra.service.BatchlogResponseHandler