public class org.apache.cassandra.net.MessageOut<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.net.MessageOut
  super_class: java.lang.Object
{
  public final java.net.InetAddress from;
    descriptor: Ljava/net/InetAddress;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.apache.cassandra.net.MessagingService$Verb verb;
    descriptor: Lorg/apache/cassandra/net/MessagingService$Verb;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final T payload;
    descriptor: Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: TT;

  public final org.apache.cassandra.io.IVersionedSerializer<T> serializer;
    descriptor: Lorg/apache/cassandra/io/IVersionedSerializer;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Lorg/apache/cassandra/io/IVersionedSerializer<TT;>;

  public final java.util.Map<java.lang.String, byte[]> parameters;
    descriptor: Ljava/util/Map;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;[B>;

  private long payloadSize;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private int payloadSizeVersion;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  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=1, locals=0, args_size=0
         0: .line 38
            ldc Lorg/apache/cassandra/net/MessageOut;
            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.net.MessageOut.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.net.MessagingService$Verb);
    descriptor: (Lorg/apache/cassandra/net/MessagingService$Verb;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.net.MessageOut this
        start local 1 // org.apache.cassandra.net.MessagingService$Verb verb
         0: .line 51
            aload 0 /* this */
            aload 1 /* verb */
            aconst_null
            aconst_null
            invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
         1: .line 52
            return
        end local 1 // org.apache.cassandra.net.MessagingService$Verb verb
        end local 0 // org.apache.cassandra.net.MessageOut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/net/MessageOut<TT;>;
            0    2     1  verb  Lorg/apache/cassandra/net/MessagingService$Verb;
    MethodParameters:
      Name  Flags
      verb  

  public void <init>(org.apache.cassandra.net.MessagingService$Verb, T, org.apache.cassandra.io.IVersionedSerializer<T>);
    descriptor: (Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.cassandra.net.MessageOut this
        start local 1 // org.apache.cassandra.net.MessagingService$Verb verb
        start local 2 // java.lang.Object payload
        start local 3 // org.apache.cassandra.io.IVersionedSerializer serializer
         0: .line 56
            aload 0 /* this */
            aload 1 /* verb */
         1: .line 57
            aload 2 /* payload */
         2: .line 58
            aload 3 /* serializer */
         3: .line 59
            invokestatic org.apache.cassandra.tracing.Tracing.isTracing:()Z
            ifeq 5
         4: .line 60
            getstatic org.apache.cassandra.tracing.Tracing.instance:Lorg/apache/cassandra/tracing/Tracing;
            invokevirtual org.apache.cassandra.tracing.Tracing.getTraceHeaders:()Ljava/util/Map;
            goto 6
         5: .line 61
      StackMap locals: uninitialized-this org.apache.cassandra.net.MessagingService$Verb java.lang.Object org.apache.cassandra.io.IVersionedSerializer
      StackMap stack: uninitialized-this org.apache.cassandra.net.MessagingService$Verb java.lang.Object org.apache.cassandra.io.IVersionedSerializer
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
      StackMap locals: uninitialized-this org.apache.cassandra.net.MessagingService$Verb java.lang.Object org.apache.cassandra.io.IVersionedSerializer
      StackMap stack: uninitialized-this org.apache.cassandra.net.MessagingService$Verb java.lang.Object org.apache.cassandra.io.IVersionedSerializer java.util.Map
         6: invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;Ljava/util/Map;)V
         7: .line 62
            return
        end local 3 // org.apache.cassandra.io.IVersionedSerializer serializer
        end local 2 // java.lang.Object payload
        end local 1 // org.apache.cassandra.net.MessagingService$Verb verb
        end local 0 // org.apache.cassandra.net.MessageOut this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/apache/cassandra/net/MessageOut<TT;>;
            0    8     1        verb  Lorg/apache/cassandra/net/MessagingService$Verb;
            0    8     2     payload  TT;
            0    8     3  serializer  Lorg/apache/cassandra/io/IVersionedSerializer<TT;>;
    Signature: (Lorg/apache/cassandra/net/MessagingService$Verb;TT;Lorg/apache/cassandra/io/IVersionedSerializer<TT;>;)V
    MethodParameters:
            Name  Flags
      verb        
      payload     
      serializer  

  private void <init>(org.apache.cassandra.net.MessagingService$Verb, T, org.apache.cassandra.io.IVersionedSerializer<T>, java.util.Map<java.lang.String, byte[]>);
    descriptor: (Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.apache.cassandra.net.MessageOut this
        start local 1 // org.apache.cassandra.net.MessagingService$Verb verb
        start local 2 // java.lang.Object payload
        start local 3 // org.apache.cassandra.io.IVersionedSerializer serializer
        start local 4 // java.util.Map parameters
         0: .line 66
            aload 0 /* this */
            invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
            aload 1 /* verb */
            aload 2 /* payload */
            aload 3 /* serializer */
            aload 4 /* parameters */
            invokespecial org.apache.cassandra.net.MessageOut.<init>:(Ljava/net/InetAddress;Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;Ljava/util/Map;)V
         1: .line 67
            return
        end local 4 // java.util.Map parameters
        end local 3 // org.apache.cassandra.io.IVersionedSerializer serializer
        end local 2 // java.lang.Object payload
        end local 1 // org.apache.cassandra.net.MessagingService$Verb verb
        end local 0 // org.apache.cassandra.net.MessageOut this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/cassandra/net/MessageOut<TT;>;
            0    2     1        verb  Lorg/apache/cassandra/net/MessagingService$Verb;
            0    2     2     payload  TT;
            0    2     3  serializer  Lorg/apache/cassandra/io/IVersionedSerializer<TT;>;
            0    2     4  parameters  Ljava/util/Map<Ljava/lang/String;[B>;
    Signature: (Lorg/apache/cassandra/net/MessagingService$Verb;TT;Lorg/apache/cassandra/io/IVersionedSerializer<TT;>;Ljava/util/Map<Ljava/lang/String;[B>;)V
    MethodParameters:
            Name  Flags
      verb        
      payload     
      serializer  
      parameters  

  public void <init>(java.net.InetAddress, org.apache.cassandra.net.MessagingService$Verb, T, org.apache.cassandra.io.IVersionedSerializer<T>, java.util.Map<java.lang.String, byte[]>);
    descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.apache.cassandra.net.MessageOut this
        start local 1 // java.net.InetAddress from
        start local 2 // org.apache.cassandra.net.MessagingService$Verb verb
        start local 3 // java.lang.Object payload
        start local 4 // org.apache.cassandra.io.IVersionedSerializer serializer
        start local 5 // java.util.Map parameters
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 0 /* this */
            ldc -1
            putfield org.apache.cassandra.net.MessageOut.payloadSize:J
         2: .line 46
            aload 0 /* this */
            iconst_m1
            putfield org.apache.cassandra.net.MessageOut.payloadSizeVersion:I
         3: .line 72
            aload 0 /* this */
            aload 1 /* from */
            putfield org.apache.cassandra.net.MessageOut.from:Ljava/net/InetAddress;
         4: .line 73
            aload 0 /* this */
            aload 2 /* verb */
            putfield org.apache.cassandra.net.MessageOut.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
         5: .line 74
            aload 0 /* this */
            aload 3 /* payload */
            putfield org.apache.cassandra.net.MessageOut.payload:Ljava/lang/Object;
         6: .line 75
            aload 0 /* this */
            aload 4 /* serializer */
            putfield org.apache.cassandra.net.MessageOut.serializer:Lorg/apache/cassandra/io/IVersionedSerializer;
         7: .line 76
            aload 0 /* this */
            aload 5 /* parameters */
            putfield org.apache.cassandra.net.MessageOut.parameters:Ljava/util/Map;
         8: .line 77
            return
        end local 5 // java.util.Map parameters
        end local 4 // org.apache.cassandra.io.IVersionedSerializer serializer
        end local 3 // java.lang.Object payload
        end local 2 // org.apache.cassandra.net.MessagingService$Verb verb
        end local 1 // java.net.InetAddress from
        end local 0 // org.apache.cassandra.net.MessageOut this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/apache/cassandra/net/MessageOut<TT;>;
            0    9     1        from  Ljava/net/InetAddress;
            0    9     2        verb  Lorg/apache/cassandra/net/MessagingService$Verb;
            0    9     3     payload  TT;
            0    9     4  serializer  Lorg/apache/cassandra/io/IVersionedSerializer<TT;>;
            0    9     5  parameters  Ljava/util/Map<Ljava/lang/String;[B>;
    Signature: (Ljava/net/InetAddress;Lorg/apache/cassandra/net/MessagingService$Verb;TT;Lorg/apache/cassandra/io/IVersionedSerializer<TT;>;Ljava/util/Map<Ljava/lang/String;[B>;)V
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
            Name  Flags
      from        
      verb        
      payload     
      serializer  
      parameters  

  public org.apache.cassandra.net.MessageOut<T> withParameter(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)Lorg/apache/cassandra/net/MessageOut;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.apache.cassandra.net.MessageOut this
        start local 1 // java.lang.String key
        start local 2 // byte[] value
         0: .line 81
            invokestatic com.google.common.collect.ImmutableMap.builder:()Lcom/google/common/collect/ImmutableMap$Builder;
            astore 3 /* builder */
        start local 3 // com.google.common.collect.ImmutableMap$Builder builder
         1: .line 82
            aload 3 /* builder */
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.parameters:Ljava/util/Map;
            invokevirtual com.google.common.collect.ImmutableMap$Builder.putAll:(Ljava/util/Map;)Lcom/google/common/collect/ImmutableMap$Builder;
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual com.google.common.collect.ImmutableMap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
            pop
         2: .line 83
            new org.apache.cassandra.net.MessageOut
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.payload:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.serializer:Lorg/apache/cassandra/io/IVersionedSerializer;
            aload 3 /* builder */
            invokevirtual com.google.common.collect.ImmutableMap$Builder.build:()Lcom/google/common/collect/ImmutableMap;
            invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;Ljava/util/Map;)V
            areturn
        end local 3 // com.google.common.collect.ImmutableMap$Builder builder
        end local 2 // byte[] value
        end local 1 // java.lang.String key
        end local 0 // org.apache.cassandra.net.MessageOut this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/cassandra/net/MessageOut<TT;>;
            0    3     1      key  Ljava/lang/String;
            0    3     2    value  [B
            1    3     3  builder  Lcom/google/common/collect/ImmutableMap$Builder<Ljava/lang/String;[B>;
    Signature: (Ljava/lang/String;[B)Lorg/apache/cassandra/net/MessageOut<TT;>;
    MethodParameters:
       Name  Flags
      key    
      value  

  public org.apache.cassandra.concurrent.Stage getStage();
    descriptor: ()Lorg/apache/cassandra/concurrent/Stage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.net.MessageOut this
         0: .line 88
            getstatic org.apache.cassandra.net.MessagingService.verbStages:Ljava/util/EnumMap;
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.concurrent.Stage
            areturn
        end local 0 // org.apache.cassandra.net.MessageOut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/net/MessageOut<TT;>;

  public long getTimeout();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.net.MessageOut this
         0: .line 93
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
            invokevirtual org.apache.cassandra.net.MessagingService$Verb.getTimeout:()J
            lreturn
        end local 0 // org.apache.cassandra.net.MessageOut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/net/MessageOut<TT;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.cassandra.net.MessageOut this
         0: .line 98
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sbuf */
        start local 1 // java.lang.StringBuilder sbuf
         1: .line 99
            aload 1 /* sbuf */
            ldc "TYPE:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.net.MessageOut.getStage:()Lorg/apache/cassandra/concurrent/Stage;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " VERB:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         2: .line 100
            aload 1 /* sbuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sbuf
        end local 0 // org.apache.cassandra.net.MessageOut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/net/MessageOut<TT;>;
            1    3     1  sbuf  Ljava/lang/StringBuilder;

  public void serialize(org.apache.cassandra.io.util.DataOutputPlus, int);
    descriptor: (Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.apache.cassandra.net.MessageOut this
        start local 1 // org.apache.cassandra.io.util.DataOutputPlus out
        start local 2 // int version
         0: .line 105
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.from:Ljava/net/InetAddress;
            aload 1 /* out */
            invokestatic org.apache.cassandra.net.CompactEndpointSerializationHelper.serialize:(Ljava/net/InetAddress;Ljava/io/DataOutput;)V
         1: .line 107
            aload 1 /* out */
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
            iload 2 /* version */
            invokestatic org.apache.cassandra.net.MessagingService$Verb.convertForMessagingServiceVersion:(Lorg/apache/cassandra/net/MessagingService$Verb;I)Lorg/apache/cassandra/net/MessagingService$Verb;
            invokevirtual org.apache.cassandra.net.MessagingService$Verb.ordinal:()I
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
         2: .line 108
            aload 1 /* out */
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.parameters:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
         3: .line 109
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.parameters:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.apache.cassandra.net.MessageOut org.apache.cassandra.io.util.DataOutputPlus int top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         5: .line 111
            aload 1 /* out */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeUTF:(Ljava/lang/String;)V
         6: .line 112
            aload 1 /* out */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast byte[]
            arraylength
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
         7: .line 113
            aload 1 /* out */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast byte[]
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.write:([B)V
        end local 3 // java.util.Map$Entry entry
         8: .line 109
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 116
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.payload:Ljava/lang/Object;
            ifnull 22
        10: .line 118
            aconst_null
            astore 3
            aconst_null
            astore 4
        11: getstatic org.apache.cassandra.io.util.DataOutputBuffer.scratchBuffer:Lio/netty/util/concurrent/FastThreadLocal;
            invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.util.DataOutputBuffer
            astore 5 /* dob */
        start local 5 // org.apache.cassandra.io.util.DataOutputBuffer dob
        12: .line 120
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.serializer:Lorg/apache/cassandra/io/IVersionedSerializer;
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.payload:Ljava/lang/Object;
            aload 5 /* dob */
            iload 2 /* version */
            invokeinterface org.apache.cassandra.io.IVersionedSerializer.serialize:(Ljava/lang/Object;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
        13: .line 122
            aload 5 /* dob */
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.getLength:()I
            istore 6 /* size */
        start local 6 // int size
        14: .line 123
            aload 1 /* out */
            iload 6 /* size */
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
        15: .line 124
            aload 1 /* out */
            aload 5 /* dob */
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.getData:()[B
            iconst_0
            iload 6 /* size */
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.write:([BII)V
        end local 6 // int size
        16: .line 125
            aload 5 /* dob */
            ifnull 23
            aload 5 /* dob */
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.close:()V
            goto 23
      StackMap locals: org.apache.cassandra.net.MessageOut org.apache.cassandra.io.util.DataOutputPlus int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.util.DataOutputBuffer
      StackMap stack: java.lang.Throwable
        17: astore 3
            aload 5 /* dob */
            ifnull 18
            aload 5 /* dob */
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.close:()V
        end local 5 // org.apache.cassandra.io.util.DataOutputBuffer dob
      StackMap locals:
      StackMap stack:
        18: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 4
            aload 3
            ifnonnull 20
            aload 4
            astore 3
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 3
            aload 4
            if_acmpeq 21
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 3
            athrow
        22: .line 129
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            iconst_0
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
        23: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int version
        end local 1 // org.apache.cassandra.io.util.DataOutputPlus out
        end local 0 // org.apache.cassandra.net.MessageOut this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lorg/apache/cassandra/net/MessageOut<TT;>;
            0   24     1      out  Lorg/apache/cassandra/io/util/DataOutputPlus;
            0   24     2  version  I
            5    8     3    entry  Ljava/util/Map$Entry<Ljava/lang/String;[B>;
           12   18     5      dob  Lorg/apache/cassandra/io/util/DataOutputBuffer;
           14   16     6     size  I
      Exception table:
        from    to  target  type
          12    16      17  any
          11    19      19  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      out      
      version  

  public int serializedSize(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.cassandra.net.MessageOut this
        start local 1 // int version
         0: .line 135
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.from:Ljava/net/InetAddress;
            invokestatic org.apache.cassandra.net.CompactEndpointSerializationHelper.serializedSize:(Ljava/net/InetAddress;)I
            istore 2 /* size */
        start local 2 // int size
         1: .line 137
            iload 2 /* size */
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
            invokevirtual org.apache.cassandra.net.MessagingService$Verb.ordinal:()I
            invokestatic org.apache.cassandra.db.TypeSizes.sizeof:(I)I
            iadd
            istore 2 /* size */
         2: .line 138
            iload 2 /* size */
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.parameters:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokestatic org.apache.cassandra.db.TypeSizes.sizeof:(I)I
            iadd
            istore 2 /* size */
         3: .line 139
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.parameters:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.apache.cassandra.net.MessageOut int int top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         5: .line 141
            iload 2 /* size */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.cassandra.db.TypeSizes.sizeof:(Ljava/lang/String;)I
            iadd
            istore 2 /* size */
         6: .line 142
            iload 2 /* size */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast byte[]
            arraylength
            invokestatic org.apache.cassandra.db.TypeSizes.sizeof:(I)I
            iadd
            istore 2 /* size */
         7: .line 143
            iload 2 /* size */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast byte[]
            arraylength
            iadd
            istore 2 /* size */
        end local 3 // java.util.Map$Entry entry
         8: .line 139
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 146
            aload 0 /* this */
            iload 1 /* version */
            invokevirtual org.apache.cassandra.net.MessageOut.payloadSize:(I)J
            lstore 3 /* longSize */
        start local 3 // long longSize
        10: .line 147
            getstatic org.apache.cassandra.net.MessageOut.$assertionsDisabled:Z
            ifne 11
            lload 3 /* longSize */
            ldc 2147483647
            lcmp
            ifle 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 148
      StackMap locals: org.apache.cassandra.net.MessageOut int int long
      StackMap stack:
            iload 2 /* size */
            lload 3 /* longSize */
            l2i
            invokestatic org.apache.cassandra.db.TypeSizes.sizeof:(I)I
            iadd
            istore 2 /* size */
        12: .line 149
            iload 2 /* size */
            i2l
            lload 3 /* longSize */
            ladd
            l2i
            istore 2 /* size */
        13: .line 150
            iload 2 /* size */
            ireturn
        end local 3 // long longSize
        end local 2 // int size
        end local 1 // int version
        end local 0 // org.apache.cassandra.net.MessageOut this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/apache/cassandra/net/MessageOut<TT;>;
            0   14     1   version  I
            1   14     2      size  I
            5    8     3     entry  Ljava/util/Map$Entry<Ljava/lang/String;[B>;
           10   14     3  longSize  J
    MethodParameters:
         Name  Flags
      version  

  public long payloadSize(int);
    descriptor: (I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.net.MessageOut this
        start local 1 // int version
         0: .line 169
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.payloadSize:J
            ldc -1
            lcmp
            ifne 6
         1: .line 171
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.payload:Ljava/lang/Object;
            ifnonnull 2
            lconst_0
            goto 3
      StackMap locals:
      StackMap stack: org.apache.cassandra.net.MessageOut
         2: aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.serializer:Lorg/apache/cassandra/io/IVersionedSerializer;
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.payload:Ljava/lang/Object;
            iload 1 /* version */
            invokeinterface org.apache.cassandra.io.IVersionedSerializer.serializedSize:(Ljava/lang/Object;I)J
      StackMap locals: org.apache.cassandra.net.MessageOut int
      StackMap stack: org.apache.cassandra.net.MessageOut long
         3: putfield org.apache.cassandra.net.MessageOut.payloadSize:J
         4: .line 172
            aload 0 /* this */
            iload 1 /* version */
            putfield org.apache.cassandra.net.MessageOut.payloadSizeVersion:I
         5: .line 173
            goto 10
         6: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.payloadSizeVersion:I
            iload 1 /* version */
            if_icmpeq 10
         7: .line 176
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.payload:Ljava/lang/Object;
            ifnonnull 8
            lconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.serializer:Lorg/apache/cassandra/io/IVersionedSerializer;
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.payload:Ljava/lang/Object;
            iload 1 /* version */
            invokeinterface org.apache.cassandra.io.IVersionedSerializer.serializedSize:(Ljava/lang/Object;I)J
      StackMap locals:
      StackMap stack: long
         9: lreturn
        10: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.net.MessageOut.payloadSize:J
            lreturn
        end local 1 // int version
        end local 0 // org.apache.cassandra.net.MessageOut this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/apache/cassandra/net/MessageOut<TT;>;
            0   11     1  version  I
    MethodParameters:
         Name  Flags
      version  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "MessageOut.java"
InnerClasses:
  public Builder = com.google.common.collect.ImmutableMap$Builder of com.google.common.collect.ImmutableMap
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public Verb = org.apache.cassandra.net.MessagingService$Verb of org.apache.cassandra.net.MessagingService