public class org.apache.cassandra.repair.RepairMessageVerbHandler implements org.apache.cassandra.net.IVerbHandler<org.apache.cassandra.repair.messages.RepairMessage>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.repair.RepairMessageVerbHandler
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$org$apache$cassandra$repair$messages$RepairMessage$Type;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 47
            ldc Lorg/apache/cassandra/repair/RepairMessageVerbHandler;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.repair.RepairMessageVerbHandler.logger:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.RepairMessageVerbHandler this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.repair.RepairMessageVerbHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/RepairMessageVerbHandler;

  public void doVerb(org.apache.cassandra.net.MessageIn<org.apache.cassandra.repair.messages.RepairMessage>, );
    descriptor: (Lorg/apache/cassandra/net/MessageIn;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=18, args_size=3
        start local 0 // org.apache.cassandra.repair.RepairMessageVerbHandler this
        start local 1 // org.apache.cassandra.net.MessageIn message
        start local 2 // int id
         0: .line 51
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.repair.messages.RepairMessage
            getfield org.apache.cassandra.repair.messages.RepairMessage.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            astore 3 /* desc */
        start local 3 // org.apache.cassandra.repair.RepairJobDesc desc
         1: .line 54
            invokestatic org.apache.cassandra.repair.RepairMessageVerbHandler.$SWITCH_TABLE$org$apache$cassandra$repair$messages$RepairMessage$Type:()[I
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.repair.messages.RepairMessage
            getfield org.apache.cassandra.repair.messages.RepairMessage.messageType:Lorg/apache/cassandra/repair/messages/RepairMessage$Type;
            invokevirtual org.apache.cassandra.repair.messages.RepairMessage$Type.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 46
                    2: 76
                    3: 56
                    4: 76
                    5: 64
                    6: 2
                    7: 27
                    8: 71
              default: 76
          }
         2: .line 57
      StackMap locals: org.apache.cassandra.repair.RepairJobDesc
      StackMap stack:
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.repair.messages.PrepareMessage
            astore 4 /* prepareMessage */
        start local 4 // org.apache.cassandra.repair.messages.PrepareMessage prepareMessage
         3: .line 58
            getstatic org.apache.cassandra.repair.RepairMessageVerbHandler.logger:Lorg/slf4j/Logger;
            ldc "Preparing, {}"
            aload 4 /* prepareMessage */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 59
            new java.util.ArrayList
            dup
            aload 4 /* prepareMessage */
            getfield org.apache.cassandra.repair.messages.PrepareMessage.cfIds:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* columnFamilyStores */
        start local 5 // java.util.List columnFamilyStores
         5: .line 60
            aload 4 /* prepareMessage */
            getfield org.apache.cassandra.repair.messages.PrepareMessage.cfIds:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 16
      StackMap locals: org.apache.cassandra.repair.RepairMessageVerbHandler org.apache.cassandra.net.MessageIn int org.apache.cassandra.repair.RepairJobDesc org.apache.cassandra.repair.messages.PrepareMessage java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.UUID
            astore 6 /* cfId */
        start local 6 // java.util.UUID cfId
         7: .line 62
            aload 6 /* cfId */
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.getIfExists:(Ljava/util/UUID;)Lorg/apache/cassandra/db/ColumnFamilyStore;
            astore 8 /* columnFamilyStore */
        start local 8 // org.apache.cassandra.db.ColumnFamilyStore columnFamilyStore
         8: .line 63
            aload 8 /* columnFamilyStore */
            ifnonnull 15
         9: .line 65
            aload 0 /* this */
            ldc "Table with id %s was dropped during prepare phase of repair"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 66
            aload 6 /* cfId */
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
            aastore
        11: .line 65
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        12: .line 66
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
            iload 2 /* id */
        13: .line 65
            invokevirtual org.apache.cassandra.repair.RepairMessageVerbHandler.logErrorAndSendFailureResponse:(Ljava/lang/String;Ljava/net/InetAddress;I)V
        14: .line 67
            return
        15: .line 69
      StackMap locals: org.apache.cassandra.repair.RepairMessageVerbHandler org.apache.cassandra.net.MessageIn int org.apache.cassandra.repair.RepairJobDesc org.apache.cassandra.repair.messages.PrepareMessage java.util.List java.util.UUID java.util.Iterator org.apache.cassandra.db.ColumnFamilyStore
      StackMap stack:
            aload 5 /* columnFamilyStores */
            aload 8 /* columnFamilyStore */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.apache.cassandra.db.ColumnFamilyStore columnFamilyStore
        end local 6 // java.util.UUID cfId
        16: .line 60
      StackMap locals: org.apache.cassandra.repair.RepairMessageVerbHandler org.apache.cassandra.net.MessageIn int org.apache.cassandra.repair.RepairJobDesc org.apache.cassandra.repair.messages.PrepareMessage java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        17: .line 71
            getstatic org.apache.cassandra.service.ActiveRepairService.instance:Lorg/apache/cassandra/service/ActiveRepairService;
            aload 4 /* prepareMessage */
            getfield org.apache.cassandra.repair.messages.PrepareMessage.parentRepairSession:Ljava/util/UUID;
        18: .line 72
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
        19: .line 73
            aload 5 /* columnFamilyStores */
        20: .line 74
            aload 4 /* prepareMessage */
            getfield org.apache.cassandra.repair.messages.PrepareMessage.ranges:Ljava/util/Collection;
        21: .line 75
            aload 4 /* prepareMessage */
            getfield org.apache.cassandra.repair.messages.PrepareMessage.isIncremental:Z
        22: .line 76
            aload 4 /* prepareMessage */
            getfield org.apache.cassandra.repair.messages.PrepareMessage.timestamp:J
        23: .line 77
            aload 4 /* prepareMessage */
            getfield org.apache.cassandra.repair.messages.PrepareMessage.isGlobal:Z
        24: .line 71
            invokevirtual org.apache.cassandra.service.ActiveRepairService.registerParentRepairSession:(Ljava/util/UUID;Ljava/net/InetAddress;Ljava/util/List;Ljava/util/Collection;ZJZ)V
        25: .line 78
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            new org.apache.cassandra.net.MessageOut
            dup
            getstatic org.apache.cassandra.net.MessagingService$Verb.INTERNAL_RESPONSE:Lorg/apache/cassandra/net/MessagingService$Verb;
            invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;)V
            iload 2 /* id */
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
            invokevirtual org.apache.cassandra.net.MessagingService.sendReply:(Lorg/apache/cassandra/net/MessageOut;ILjava/net/InetAddress;)V
        26: .line 79
            goto 83
        end local 5 // java.util.List columnFamilyStores
        end local 4 // org.apache.cassandra.repair.messages.PrepareMessage prepareMessage
        27: .line 82
      StackMap locals: org.apache.cassandra.repair.RepairMessageVerbHandler org.apache.cassandra.net.MessageIn int org.apache.cassandra.repair.RepairJobDesc
      StackMap stack:
            getstatic org.apache.cassandra.repair.RepairMessageVerbHandler.logger:Lorg/slf4j/Logger;
            ldc "Snapshotting {}"
            aload 3 /* desc */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        28: .line 83
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.keyspace:Ljava/lang/String;
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.columnFamily:Ljava/lang/String;
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.getIfExists:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
            astore 6 /* cfs */
        start local 6 // org.apache.cassandra.db.ColumnFamilyStore cfs
        29: .line 84
            aload 6 /* cfs */
            ifnonnull 36
        30: .line 86
            aload 0 /* this */
            ldc "Table %s.%s was dropped during snapshot phase of repair"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        31: .line 87
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.keyspace:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.columnFamily:Ljava/lang/String;
            aastore
        32: .line 86
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        33: .line 87
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
            iload 2 /* id */
        34: .line 86
            invokevirtual org.apache.cassandra.repair.RepairMessageVerbHandler.logErrorAndSendFailureResponse:(Ljava/lang/String;Ljava/net/InetAddress;I)V
        35: .line 88
            return
        36: .line 91
      StackMap locals: org.apache.cassandra.repair.RepairMessageVerbHandler org.apache.cassandra.net.MessageIn int org.apache.cassandra.repair.RepairJobDesc top top org.apache.cassandra.db.ColumnFamilyStore
      StackMap stack:
            getstatic org.apache.cassandra.service.ActiveRepairService.instance:Lorg/apache/cassandra/service/ActiveRepairService;
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            invokevirtual org.apache.cassandra.service.ActiveRepairService.getParentRepairSession:(Ljava/util/UUID;)Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;
            astore 7 /* prs */
        start local 7 // org.apache.cassandra.service.ActiveRepairService$ParentRepairSession prs
        37: .line 92
            aload 7 /* prs */
            getfield org.apache.cassandra.service.ActiveRepairService$ParentRepairSession.isGlobal:Z
            ifeq 40
        38: .line 94
            aload 7 /* prs */
            aload 6 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            invokevirtual org.apache.cassandra.service.ActiveRepairService$ParentRepairSession.maybeSnapshot:(Ljava/util/UUID;Ljava/util/UUID;)V
        39: .line 95
            goto 43
        40: .line 98
      StackMap locals: org.apache.cassandra.service.ActiveRepairService$ParentRepairSession
      StackMap stack:
            aload 6 /* cfs */
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.sessionId:Ljava/util/UUID;
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
            new org.apache.cassandra.repair.RepairMessageVerbHandler$1
            dup
            aload 0 /* this */
            aload 3 /* desc */
            invokespecial org.apache.cassandra.repair.RepairMessageVerbHandler$1.<init>:(Lorg/apache/cassandra/repair/RepairMessageVerbHandler;Lorg/apache/cassandra/repair/RepairJobDesc;)V
        41: .line 106
            iconst_1
            iconst_0
        42: .line 98
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.snapshot:(Ljava/lang/String;Lcom/google/common/base/Predicate;ZZ)Ljava/util/Set;
            pop
        43: .line 108
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.repair.RepairMessageVerbHandler.logger:Lorg/slf4j/Logger;
            ldc "Enqueuing response to snapshot request {} to {}"
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.sessionId:Ljava/util/UUID;
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        44: .line 109
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            new org.apache.cassandra.net.MessageOut
            dup
            getstatic org.apache.cassandra.net.MessagingService$Verb.INTERNAL_RESPONSE:Lorg/apache/cassandra/net/MessagingService$Verb;
            invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;)V
            iload 2 /* id */
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
            invokevirtual org.apache.cassandra.net.MessagingService.sendReply:(Lorg/apache/cassandra/net/MessageOut;ILjava/net/InetAddress;)V
        45: .line 110
            goto 83
        end local 7 // org.apache.cassandra.service.ActiveRepairService$ParentRepairSession prs
        end local 6 // org.apache.cassandra.db.ColumnFamilyStore cfs
        46: .line 113
      StackMap locals: org.apache.cassandra.repair.RepairMessageVerbHandler org.apache.cassandra.net.MessageIn int org.apache.cassandra.repair.RepairJobDesc
      StackMap stack:
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.repair.messages.ValidationRequest
            astore 8 /* validationRequest */
        start local 8 // org.apache.cassandra.repair.messages.ValidationRequest validationRequest
        47: .line 114
            getstatic org.apache.cassandra.repair.RepairMessageVerbHandler.logger:Lorg/slf4j/Logger;
            ldc "Validating {}"
            aload 8 /* validationRequest */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        48: .line 116
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.keyspace:Ljava/lang/String;
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.columnFamily:Ljava/lang/String;
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.getIfExists:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
            astore 9 /* store */
        start local 9 // org.apache.cassandra.db.ColumnFamilyStore store
        49: .line 117
            aload 9 /* store */
            ifnonnull 53
        50: .line 119
            getstatic org.apache.cassandra.repair.RepairMessageVerbHandler.logger:Lorg/slf4j/Logger;
            ldc "Table {}.{} was dropped during snapshot phase of repair"
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.keyspace:Ljava/lang/String;
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.columnFamily:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        51: .line 120
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            new org.apache.cassandra.repair.messages.ValidationComplete
            dup
            aload 3 /* desc */
            invokespecial org.apache.cassandra.repair.messages.ValidationComplete.<init>:(Lorg/apache/cassandra/repair/RepairJobDesc;)V
            invokevirtual org.apache.cassandra.repair.messages.ValidationComplete.createMessage:()Lorg/apache/cassandra/net/MessageOut;
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
            invokevirtual org.apache.cassandra.net.MessagingService.sendOneWay:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;)V
        52: .line 121
            return
        53: .line 124
      StackMap locals: org.apache.cassandra.repair.RepairMessageVerbHandler org.apache.cassandra.net.MessageIn int org.apache.cassandra.repair.RepairJobDesc top top top top org.apache.cassandra.repair.messages.ValidationRequest org.apache.cassandra.db.ColumnFamilyStore
      StackMap stack:
            new org.apache.cassandra.repair.Validator
            dup
            aload 3 /* desc */
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
            aload 8 /* validationRequest */
            getfield org.apache.cassandra.repair.messages.ValidationRequest.gcBefore:I
            invokespecial org.apache.cassandra.repair.Validator.<init>:(Lorg/apache/cassandra/repair/RepairJobDesc;Ljava/net/InetAddress;I)V
            astore 10 /* validator */
        start local 10 // org.apache.cassandra.repair.Validator validator
        54: .line 125
            getstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
            aload 9 /* store */
            aload 10 /* validator */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.submitValidation:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/repair/Validator;)Ljava/util/concurrent/Future;
            pop
        55: .line 126
            goto 83
        end local 10 // org.apache.cassandra.repair.Validator validator
        end local 9 // org.apache.cassandra.db.ColumnFamilyStore store
        end local 8 // org.apache.cassandra.repair.messages.ValidationRequest validationRequest
        56: .line 130
      StackMap locals: org.apache.cassandra.repair.RepairMessageVerbHandler org.apache.cassandra.net.MessageIn int org.apache.cassandra.repair.RepairJobDesc
      StackMap stack:
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.repair.messages.SyncRequest
            astore 11 /* request */
        start local 11 // org.apache.cassandra.repair.messages.SyncRequest request
        57: .line 131
            getstatic org.apache.cassandra.repair.RepairMessageVerbHandler.logger:Lorg/slf4j/Logger;
            ldc "Syncing {}"
            aload 11 /* request */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        58: .line 132
            lconst_0
            lstore 12 /* repairedAt */
        start local 12 // long repairedAt
        59: .line 133
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            ifnull 61
            getstatic org.apache.cassandra.service.ActiveRepairService.instance:Lorg/apache/cassandra/service/ActiveRepairService;
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            invokevirtual org.apache.cassandra.service.ActiveRepairService.getParentRepairSession:(Ljava/util/UUID;)Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;
            ifnull 61
        60: .line 134
            getstatic org.apache.cassandra.service.ActiveRepairService.instance:Lorg/apache/cassandra/service/ActiveRepairService;
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            invokevirtual org.apache.cassandra.service.ActiveRepairService.getParentRepairSession:(Ljava/util/UUID;)Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;
            invokevirtual org.apache.cassandra.service.ActiveRepairService$ParentRepairSession.getRepairedAt:()J
            lstore 12 /* repairedAt */
        61: .line 136
      StackMap locals: org.apache.cassandra.repair.RepairMessageVerbHandler org.apache.cassandra.net.MessageIn int org.apache.cassandra.repair.RepairJobDesc top top top top top top top org.apache.cassandra.repair.messages.SyncRequest long
      StackMap stack:
            new org.apache.cassandra.repair.StreamingRepairTask
            dup
            aload 3 /* desc */
            aload 11 /* request */
            lload 12 /* repairedAt */
            invokespecial org.apache.cassandra.repair.StreamingRepairTask.<init>:(Lorg/apache/cassandra/repair/RepairJobDesc;Lorg/apache/cassandra/repair/messages/SyncRequest;J)V
            astore 14 /* task */
        start local 14 // org.apache.cassandra.repair.StreamingRepairTask task
        62: .line 137
            aload 14 /* task */
            invokevirtual org.apache.cassandra.repair.StreamingRepairTask.run:()V
        63: .line 138
            goto 83
        end local 14 // org.apache.cassandra.repair.StreamingRepairTask task
        end local 12 // long repairedAt
        end local 11 // org.apache.cassandra.repair.messages.SyncRequest request
        64: .line 141
      StackMap locals: org.apache.cassandra.repair.RepairMessageVerbHandler org.apache.cassandra.net.MessageIn int org.apache.cassandra.repair.RepairJobDesc
      StackMap stack:
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.repair.messages.AnticompactionRequest
            astore 15 /* anticompactionRequest */
        start local 15 // org.apache.cassandra.repair.messages.AnticompactionRequest anticompactionRequest
        65: .line 142
            getstatic org.apache.cassandra.repair.RepairMessageVerbHandler.logger:Lorg/slf4j/Logger;
            ldc "Got anticompaction request {}"
            aload 15 /* anticompactionRequest */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        66: .line 143
            getstatic org.apache.cassandra.service.ActiveRepairService.instance:Lorg/apache/cassandra/service/ActiveRepairService;
            aload 15 /* anticompactionRequest */
            getfield org.apache.cassandra.repair.messages.AnticompactionRequest.parentRepairSession:Ljava/util/UUID;
            aload 15 /* anticompactionRequest */
            getfield org.apache.cassandra.repair.messages.AnticompactionRequest.successfulRanges:Ljava/util/Collection;
            invokevirtual org.apache.cassandra.service.ActiveRepairService.doAntiCompaction:(Ljava/util/UUID;Ljava/util/Collection;)Lcom/google/common/util/concurrent/ListenableFuture;
            astore 16 /* compactionDone */
        start local 16 // com.google.common.util.concurrent.ListenableFuture compactionDone
        67: .line 144
            aload 16 /* compactionDone */
            new org.apache.cassandra.repair.RepairMessageVerbHandler$2
            dup
            aload 0 /* this */
            iload 2 /* id */
            aload 1 /* message */
            invokespecial org.apache.cassandra.repair.RepairMessageVerbHandler$2.<init>:(Lorg/apache/cassandra/repair/RepairMessageVerbHandler;ILorg/apache/cassandra/net/MessageIn;)V
        68: .line 151
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
        69: .line 144
            invokeinterface com.google.common.util.concurrent.ListenableFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
        70: .line 152
            goto 83
        end local 16 // com.google.common.util.concurrent.ListenableFuture compactionDone
        end local 15 // org.apache.cassandra.repair.messages.AnticompactionRequest anticompactionRequest
        71: .line 155
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.repair.RepairMessageVerbHandler.logger:Lorg/slf4j/Logger;
            ldc "cleaning up repair"
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
        72: .line 156
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.repair.messages.CleanupMessage
            astore 17 /* cleanup */
        start local 17 // org.apache.cassandra.repair.messages.CleanupMessage cleanup
        73: .line 157
            getstatic org.apache.cassandra.service.ActiveRepairService.instance:Lorg/apache/cassandra/service/ActiveRepairService;
            aload 17 /* cleanup */
            getfield org.apache.cassandra.repair.messages.CleanupMessage.parentRepairSession:Ljava/util/UUID;
            invokevirtual org.apache.cassandra.service.ActiveRepairService.removeParentRepairSession:(Ljava/util/UUID;)Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;
            pop
        74: .line 158
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            new org.apache.cassandra.net.MessageOut
            dup
            getstatic org.apache.cassandra.net.MessagingService$Verb.INTERNAL_RESPONSE:Lorg/apache/cassandra/net/MessagingService$Verb;
            invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;)V
            iload 2 /* id */
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
            invokevirtual org.apache.cassandra.net.MessagingService.sendReply:(Lorg/apache/cassandra/net/MessageOut;ILjava/net/InetAddress;)V
        75: .line 159
            goto 83
        end local 17 // org.apache.cassandra.repair.messages.CleanupMessage cleanup
        76: .line 162
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.ActiveRepairService.instance:Lorg/apache/cassandra/service/ActiveRepairService;
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.repair.messages.RepairMessage
            invokevirtual org.apache.cassandra.service.ActiveRepairService.handleMessage:(Ljava/net/InetAddress;Lorg/apache/cassandra/repair/messages/RepairMessage;)V
        77: .line 165
            goto 83
        78: .line 166
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        79: .line 168
            getstatic org.apache.cassandra.repair.RepairMessageVerbHandler.logger:Lorg/slf4j/Logger;
            ldc "Got error, removing parent repair session"
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
        80: .line 169
            aload 3 /* desc */
            ifnull 82
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            ifnull 82
        81: .line 170
            getstatic org.apache.cassandra.service.ActiveRepairService.instance:Lorg/apache/cassandra/service/ActiveRepairService;
            aload 3 /* desc */
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            invokevirtual org.apache.cassandra.service.ActiveRepairService.removeParentRepairSession:(Ljava/util/UUID;)Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;
            pop
        82: .line 171
      StackMap locals: java.lang.Exception
      StackMap stack:
            new java.lang.RuntimeException
            dup
            aload 4 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        83: .line 173
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.cassandra.repair.RepairJobDesc desc
        end local 2 // int id
        end local 1 // org.apache.cassandra.net.MessageIn message
        end local 0 // org.apache.cassandra.repair.RepairMessageVerbHandler this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   84     0                   this  Lorg/apache/cassandra/repair/RepairMessageVerbHandler;
            0   84     1                message  Lorg/apache/cassandra/net/MessageIn<Lorg/apache/cassandra/repair/messages/RepairMessage;>;
            0   84     2                     id  I
            1   84     3                   desc  Lorg/apache/cassandra/repair/RepairJobDesc;
            3   27     4         prepareMessage  Lorg/apache/cassandra/repair/messages/PrepareMessage;
            5   27     5     columnFamilyStores  Ljava/util/List<Lorg/apache/cassandra/db/ColumnFamilyStore;>;
            7   16     6                   cfId  Ljava/util/UUID;
            8   16     8      columnFamilyStore  Lorg/apache/cassandra/db/ColumnFamilyStore;
           29   46     6                    cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
           37   46     7                    prs  Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;
           47   56     8      validationRequest  Lorg/apache/cassandra/repair/messages/ValidationRequest;
           49   56     9                  store  Lorg/apache/cassandra/db/ColumnFamilyStore;
           54   56    10              validator  Lorg/apache/cassandra/repair/Validator;
           57   64    11                request  Lorg/apache/cassandra/repair/messages/SyncRequest;
           59   64    12             repairedAt  J
           62   64    14                   task  Lorg/apache/cassandra/repair/StreamingRepairTask;
           65   71    15  anticompactionRequest  Lorg/apache/cassandra/repair/messages/AnticompactionRequest;
           67   71    16         compactionDone  Lcom/google/common/util/concurrent/ListenableFuture<*>;
           73   76    17                cleanup  Lorg/apache/cassandra/repair/messages/CleanupMessage;
           79   83     4                      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    14      78  Class java.lang.Exception
          15    35      78  Class java.lang.Exception
          36    52      78  Class java.lang.Exception
          53    77      78  Class java.lang.Exception
    Signature: (Lorg/apache/cassandra/net/MessageIn<Lorg/apache/cassandra/repair/messages/RepairMessage;>;I)V
    MethodParameters:
         Name  Flags
      message  final
      id       final

  private void logErrorAndSendFailureResponse(java.lang.String, java.net.InetAddress, int);
    descriptor: (Ljava/lang/String;Ljava/net/InetAddress;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.cassandra.repair.RepairMessageVerbHandler this
        start local 1 // java.lang.String errorMessage
        start local 2 // java.net.InetAddress to
        start local 3 // int id
         0: .line 177
            getstatic org.apache.cassandra.repair.RepairMessageVerbHandler.logger:Lorg/slf4j/Logger;
            aload 1 /* errorMessage */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
         1: .line 178
            new org.apache.cassandra.net.MessageOut
            dup
            getstatic org.apache.cassandra.net.MessagingService$Verb.INTERNAL_RESPONSE:Lorg/apache/cassandra/net/MessagingService$Verb;
            invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;)V
         2: .line 179
            ldc "FAIL"
            getstatic org.apache.cassandra.net.MessagingService.ONE_BYTE:[B
            invokevirtual org.apache.cassandra.net.MessageOut.withParameter:(Ljava/lang/String;[B)Lorg/apache/cassandra/net/MessageOut;
         3: .line 178
            astore 4 /* reply */
        start local 4 // org.apache.cassandra.net.MessageOut reply
         4: .line 180
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            aload 4 /* reply */
            iload 3 /* id */
            aload 2 /* to */
            invokevirtual org.apache.cassandra.net.MessagingService.sendReply:(Lorg/apache/cassandra/net/MessageOut;ILjava/net/InetAddress;)V
         5: .line 181
            return
        end local 4 // org.apache.cassandra.net.MessageOut reply
        end local 3 // int id
        end local 2 // java.net.InetAddress to
        end local 1 // java.lang.String errorMessage
        end local 0 // org.apache.cassandra.repair.RepairMessageVerbHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/apache/cassandra/repair/RepairMessageVerbHandler;
            0    6     1  errorMessage  Ljava/lang/String;
            0    6     2            to  Ljava/net/InetAddress;
            0    6     3            id  I
            4    6     4         reply  Lorg/apache/cassandra/net/MessageOut;
    MethodParameters:
              Name  Flags
      errorMessage  
      to            
      id            

  static int[] $SWITCH_TABLE$org$apache$cassandra$repair$messages$RepairMessage$Type();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 45
            getstatic org.apache.cassandra.repair.RepairMessageVerbHandler.$SWITCH_TABLE$org$apache$cassandra$repair$messages$RepairMessage$Type:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.repair.messages.RepairMessage$Type.values:()[Lorg/apache/cassandra/repair/messages/RepairMessage$Type;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.repair.messages.RepairMessage$Type.ANTICOMPACTION_REQUEST:Lorg/apache/cassandra/repair/messages/RepairMessage$Type;
            invokevirtual org.apache.cassandra.repair.messages.RepairMessage$Type.ordinal:()I
            iconst_5
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.cassandra.repair.messages.RepairMessage$Type.CLEANUP:Lorg/apache/cassandra/repair/messages/RepairMessage$Type;
            invokevirtual org.apache.cassandra.repair.messages.RepairMessage$Type.ordinal:()I
            bipush 8
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.cassandra.repair.messages.RepairMessage$Type.PREPARE_MESSAGE:Lorg/apache/cassandra/repair/messages/RepairMessage$Type;
            invokevirtual org.apache.cassandra.repair.messages.RepairMessage$Type.ordinal:()I
            bipush 6
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.apache.cassandra.repair.messages.RepairMessage$Type.SNAPSHOT:Lorg/apache/cassandra/repair/messages/RepairMessage$Type;
            invokevirtual org.apache.cassandra.repair.messages.RepairMessage$Type.ordinal:()I
            bipush 7
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.apache.cassandra.repair.messages.RepairMessage$Type.SYNC_COMPLETE:Lorg/apache/cassandra/repair/messages/RepairMessage$Type;
            invokevirtual org.apache.cassandra.repair.messages.RepairMessage$Type.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.apache.cassandra.repair.messages.RepairMessage$Type.SYNC_REQUEST:Lorg/apache/cassandra/repair/messages/RepairMessage$Type;
            invokevirtual org.apache.cassandra.repair.messages.RepairMessage$Type.ordinal:()I
            iconst_3
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.apache.cassandra.repair.messages.RepairMessage$Type.VALIDATION_COMPLETE:Lorg/apache/cassandra/repair/messages/RepairMessage$Type;
            invokevirtual org.apache.cassandra.repair.messages.RepairMessage$Type.ordinal:()I
            iconst_2
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.apache.cassandra.repair.messages.RepairMessage$Type.VALIDATION_REQUEST:Lorg/apache/cassandra/repair/messages/RepairMessage$Type;
            invokevirtual org.apache.cassandra.repair.messages.RepairMessage$Type.ordinal:()I
            iconst_1
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            dup
            putstatic org.apache.cassandra.repair.RepairMessageVerbHandler.$SWITCH_TABLE$org$apache$cassandra$repair$messages$RepairMessage$Type:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
}
Signature: Ljava/lang/Object;Lorg/apache/cassandra/net/IVerbHandler<Lorg/apache/cassandra/repair/messages/RepairMessage;>;
SourceFile: "RepairMessageVerbHandler.java"
NestMembers:
  org.apache.cassandra.repair.RepairMessageVerbHandler$1  org.apache.cassandra.repair.RepairMessageVerbHandler$2
InnerClasses:
  public Verb = org.apache.cassandra.net.MessagingService$Verb of org.apache.cassandra.net.MessagingService
  org.apache.cassandra.repair.RepairMessageVerbHandler$1
  org.apache.cassandra.repair.RepairMessageVerbHandler$2
  public final Type = org.apache.cassandra.repair.messages.RepairMessage$Type of org.apache.cassandra.repair.messages.RepairMessage
  public ParentRepairSession = org.apache.cassandra.service.ActiveRepairService$ParentRepairSession of org.apache.cassandra.service.ActiveRepairService