public class org.apache.cassandra.db.MutationVerbHandler implements org.apache.cassandra.net.IVerbHandler<org.apache.cassandra.db.Mutation>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.db.MutationVerbHandler
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.MutationVerbHandler this
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.db.MutationVerbHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/MutationVerbHandler;

  private void reply(int, java.net.InetAddress);
    descriptor: (ILjava/net/InetAddress;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.MutationVerbHandler this
        start local 1 // int id
        start local 2 // java.net.InetAddress replyTo
         0: .line 34
            ldc "Enqueuing response to {}"
            aload 2 /* replyTo */
            invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 35
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            invokestatic org.apache.cassandra.db.WriteResponse.createMessage:()Lorg/apache/cassandra/net/MessageOut;
            iload 1 /* id */
            aload 2 /* replyTo */
            invokevirtual org.apache.cassandra.net.MessagingService.sendReply:(Lorg/apache/cassandra/net/MessageOut;ILjava/net/InetAddress;)V
         2: .line 36
            return
        end local 2 // java.net.InetAddress replyTo
        end local 1 // int id
        end local 0 // org.apache.cassandra.db.MutationVerbHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/cassandra/db/MutationVerbHandler;
            0    3     1       id  I
            0    3     2  replyTo  Ljava/net/InetAddress;
    MethodParameters:
         Name  Flags
      id       
      replyTo  

  private void failed();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.MutationVerbHandler this
         0: .line 40
            ldc "Payload application resulted in WriteTimeout, not replying"
            invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
         1: .line 41
            return
        end local 0 // org.apache.cassandra.db.MutationVerbHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/MutationVerbHandler;

  public void doVerb(org.apache.cassandra.net.MessageIn<org.apache.cassandra.db.Mutation>, );
    descriptor: (Lorg/apache/cassandra/net/MessageIn;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.apache.cassandra.db.MutationVerbHandler this
        start local 1 // org.apache.cassandra.net.MessageIn message
        start local 2 // int id
         0: .line 46
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.parameters:Ljava/util/Map;
            ldc "FWD_FRM"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
            astore 3 /* from */
        start local 3 // byte[] from
         1: .line 48
            aload 3 /* from */
            ifnonnull 7
         2: .line 50
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
            astore 4 /* replyTo */
        start local 4 // java.net.InetAddress replyTo
         3: .line 51
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.parameters:Ljava/util/Map;
            ldc "FWD_TO"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
            astore 5 /* forwardBytes */
        start local 5 // byte[] forwardBytes
         4: .line 52
            aload 5 /* forwardBytes */
            ifnull 8
         5: .line 53
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Mutation
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
            aload 5 /* forwardBytes */
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
            invokestatic org.apache.cassandra.db.MutationVerbHandler.forwardToLocalNodes:(Lorg/apache/cassandra/db/Mutation;Lorg/apache/cassandra/net/MessagingService$Verb;[BLjava/net/InetAddress;)V
        end local 5 // byte[] forwardBytes
         6: .line 54
            goto 8
        end local 4 // java.net.InetAddress replyTo
         7: .line 57
      StackMap locals: byte[]
      StackMap stack:
            aload 3 /* from */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
            astore 4 /* replyTo */
        start local 4 // java.net.InetAddress replyTo
         8: .line 62
      StackMap locals: java.net.InetAddress
      StackMap stack:
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.version:I
            bipush 10
            if_icmpge 12
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Mutation
            invokestatic org.apache.cassandra.batchlog.LegacyBatchlogMigrator.isLegacyBatchlogMutation:(Lorg/apache/cassandra/db/Mutation;)Z
            ifeq 12
         9: .line 64
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Mutation
            invokestatic org.apache.cassandra.batchlog.LegacyBatchlogMigrator.handleLegacyMutation:(Lorg/apache/cassandra/db/Mutation;)V
        10: .line 65
            aload 0 /* this */
            iload 2 /* id */
            aload 4 /* replyTo */
            invokevirtual org.apache.cassandra.db.MutationVerbHandler.reply:(ILjava/net/InetAddress;)V
        11: .line 66
            goto 16
        12: .line 68
      StackMap locals:
      StackMap stack:
            aload 1 /* message */
            getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Mutation
            invokevirtual org.apache.cassandra.db.Mutation.applyFuture:()Ljava/util/concurrent/CompletableFuture;
            aload 0 /* this */
            iload 2 /* id */
            aload 4 /* replyTo */
            invokedynamic accept(Lorg/apache/cassandra/db/MutationVerbHandler;ILjava/net/InetAddress;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/apache/cassandra/db/MutationVerbHandler.lambda$0(ILjava/net/InetAddress;Ljava/lang/Object;)V (7)
                  (Ljava/lang/Object;)V
            invokevirtual java.util.concurrent.CompletableFuture.thenAccept:(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
            aload 0 /* this */
            invokedynamic apply(Lorg/apache/cassandra/db/MutationVerbHandler;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/apache/cassandra/db/MutationVerbHandler.lambda$1(Ljava/lang/Throwable;)Ljava/lang/Void; (7)
                  (Ljava/lang/Throwable;)Ljava/lang/Void;
            invokevirtual java.util.concurrent.CompletableFuture.exceptionally:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            pop
        13: .line 72
            goto 16
        14: .line 73
      StackMap locals:
      StackMap stack: org.apache.cassandra.exceptions.WriteTimeoutException
            pop
        15: .line 75
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.MutationVerbHandler.failed:()V
        16: .line 77
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.net.InetAddress replyTo
        end local 3 // byte[] from
        end local 2 // int id
        end local 1 // org.apache.cassandra.net.MessageIn message
        end local 0 // org.apache.cassandra.db.MutationVerbHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/apache/cassandra/db/MutationVerbHandler;
            0   17     1       message  Lorg/apache/cassandra/net/MessageIn<Lorg/apache/cassandra/db/Mutation;>;
            0   17     2            id  I
            1   17     3          from  [B
            3    7     4       replyTo  Ljava/net/InetAddress;
            8   17     4       replyTo  Ljava/net/InetAddress;
            4    6     5  forwardBytes  [B
      Exception table:
        from    to  target  type
           8    13      14  Class org.apache.cassandra.exceptions.WriteTimeoutException
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/cassandra/net/MessageIn<Lorg/apache/cassandra/db/Mutation;>;I)V
    MethodParameters:
         Name  Flags
      message  
      id       

  private static void forwardToLocalNodes(org.apache.cassandra.db.Mutation, org.apache.cassandra.net.MessagingService$Verb, byte[], java.net.InetAddress);
    descriptor: (Lorg/apache/cassandra/db/Mutation;Lorg/apache/cassandra/net/MessagingService$Verb;[BLjava/net/InetAddress;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // org.apache.cassandra.db.Mutation mutation
        start local 1 // org.apache.cassandra.net.MessagingService$Verb verb
        start local 2 // byte[] forwardBytes
        start local 3 // java.net.InetAddress from
         0: .line 85
            aconst_null
            astore 4
            aconst_null
            astore 5
         1: new java.io.DataInputStream
            dup
            new org.apache.cassandra.io.util.FastByteArrayInputStream
            dup
            aload 2 /* forwardBytes */
            invokespecial org.apache.cassandra.io.util.FastByteArrayInputStream.<init>:([B)V
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 6 /* in */
        start local 6 // java.io.DataInputStream in
         2: .line 87
            aload 6 /* in */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 7 /* size */
        start local 7 // int size
         3: .line 90
            new org.apache.cassandra.net.MessageOut
            dup
            aload 1 /* verb */
            aload 0 /* mutation */
            getstatic org.apache.cassandra.db.Mutation.serializer:Lorg/apache/cassandra/db/Mutation$MutationSerializer;
            invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
            ldc "FWD_FRM"
            aload 3 /* from */
            invokevirtual java.net.InetAddress.getAddress:()[B
            invokevirtual org.apache.cassandra.net.MessageOut.withParameter:(Ljava/lang/String;[B)Lorg/apache/cassandra/net/MessageOut;
            astore 8 /* message */
        start local 8 // org.apache.cassandra.net.MessageOut message
         4: .line 92
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         5: goto 11
         6: .line 94
      StackMap locals: org.apache.cassandra.db.Mutation org.apache.cassandra.net.MessagingService$Verb byte[] java.net.InetAddress java.lang.Throwable java.lang.Throwable java.io.DataInputStream int org.apache.cassandra.net.MessageOut int
      StackMap stack:
            aload 6 /* in */
            invokestatic org.apache.cassandra.net.CompactEndpointSerializationHelper.deserialize:(Ljava/io/DataInput;)Ljava/net/InetAddress;
            astore 10 /* address */
        start local 10 // java.net.InetAddress address
         7: .line 95
            aload 6 /* in */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 11 /* id */
        start local 11 // int id
         8: .line 96
            ldc "Enqueuing forwarded write to {}"
            aload 10 /* address */
            invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 97
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            aload 8 /* message */
            iload 11 /* id */
            aload 10 /* address */
            invokevirtual org.apache.cassandra.net.MessagingService.sendOneWay:(Lorg/apache/cassandra/net/MessageOut;ILjava/net/InetAddress;)V
        end local 11 // int id
        end local 10 // java.net.InetAddress address
        10: .line 92
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 9 /* i */
            iload 7 /* size */
            if_icmplt 6
        end local 9 // int i
        end local 8 // org.apache.cassandra.net.MessageOut message
        end local 7 // int size
        12: .line 99
            aload 6 /* in */
            ifnull 18
            aload 6 /* in */
            invokevirtual java.io.DataInputStream.close:()V
            goto 18
      StackMap locals: org.apache.cassandra.db.Mutation org.apache.cassandra.net.MessagingService$Verb byte[] java.net.InetAddress java.lang.Throwable java.lang.Throwable java.io.DataInputStream
      StackMap stack: java.lang.Throwable
        13: astore 4
            aload 6 /* in */
            ifnull 14
            aload 6 /* in */
            invokevirtual java.io.DataInputStream.close:()V
        end local 6 // java.io.DataInputStream in
      StackMap locals:
      StackMap stack:
        14: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 5
            aload 4
            ifnonnull 16
            aload 5
            astore 4
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 4
            aload 5
            if_acmpeq 17
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 4
            athrow
        18: .line 100
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.net.InetAddress from
        end local 2 // byte[] forwardBytes
        end local 1 // org.apache.cassandra.net.MessagingService$Verb verb
        end local 0 // org.apache.cassandra.db.Mutation mutation
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0      mutation  Lorg/apache/cassandra/db/Mutation;
            0   19     1          verb  Lorg/apache/cassandra/net/MessagingService$Verb;
            0   19     2  forwardBytes  [B
            0   19     3          from  Ljava/net/InetAddress;
            2   14     6            in  Ljava/io/DataInputStream;
            3   12     7          size  I
            4   12     8       message  Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/db/Mutation;>;
            5   12     9             i  I
            7   10    10       address  Ljava/net/InetAddress;
            8   10    11            id  I
      Exception table:
        from    to  target  type
           2    12      13  any
           1    15      15  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      mutation      
      verb          
      forwardBytes  
      from          

  private void lambda$0(int, java.net.InetAddress, java.lang.Object);
    descriptor: (ILjava/net/InetAddress;Ljava/lang/Object;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.MutationVerbHandler this
        start local 3 // java.lang.Object o
         0: .line 68
            aload 0 /* this */
            iload 1
            aload 2
            invokevirtual org.apache.cassandra.db.MutationVerbHandler.reply:(ILjava/net/InetAddress;)V
            return
        end local 3 // java.lang.Object o
        end local 0 // org.apache.cassandra.db.MutationVerbHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/MutationVerbHandler;
            0    1     3     o  Ljava/lang/Object;

  private java.lang.Void lambda$1(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Void;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.MutationVerbHandler this
        start local 1 // java.lang.Throwable wto
         0: .line 69
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.MutationVerbHandler.failed:()V
         1: .line 70
            aconst_null
            areturn
        end local 1 // java.lang.Throwable wto
        end local 0 // org.apache.cassandra.db.MutationVerbHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/MutationVerbHandler;
            0    2     1   wto  Ljava/lang/Throwable;
}
Signature: Ljava/lang/Object;Lorg/apache/cassandra/net/IVerbHandler<Lorg/apache/cassandra/db/Mutation;>;
SourceFile: "MutationVerbHandler.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Verb = org.apache.cassandra.net.MessagingService$Verb of org.apache.cassandra.net.MessagingService