class org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer implements org.apache.cassandra.dht.IPartitionerDependentSerializer<org.apache.cassandra.utils.MerkleTree$Inner>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer this
         0: .line 891
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/utils/MerkleTree$Inner$InnerSerializer;

  public void serialize(org.apache.cassandra.utils.MerkleTree$Inner, org.apache.cassandra.io.util.DataOutputPlus, int);
    descriptor: (Lorg/apache/cassandra/utils/MerkleTree$Inner;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer this
        start local 1 // org.apache.cassandra.utils.MerkleTree$Inner inner
        start local 2 // org.apache.cassandra.io.util.DataOutputPlus out
        start local 3 // int version
         0: .line 895
            iload 3 /* version */
            bipush 10
            if_icmpge 5
         1: .line 897
            aload 1 /* inner */
            getfield org.apache.cassandra.utils.MerkleTree$Inner.hash:[B
            ifnonnull 3
         2: .line 898
            aload 2 /* out */
            iconst_m1
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
            goto 5
         3: .line 901
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            aload 1 /* inner */
            getfield org.apache.cassandra.utils.MerkleTree$Inner.hash:[B
            arraylength
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
         4: .line 902
            aload 2 /* out */
            aload 1 /* inner */
            getfield org.apache.cassandra.utils.MerkleTree$Inner.hash:[B
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.write:([B)V
         5: .line 905
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.dht.Token.serializer:Lorg/apache/cassandra/dht/Token$TokenSerializer;
            aload 1 /* inner */
            getfield org.apache.cassandra.utils.MerkleTree$Inner.token:Lorg/apache/cassandra/dht/Token;
            aload 2 /* out */
            iload 3 /* version */
            invokevirtual org.apache.cassandra.dht.Token$TokenSerializer.serialize:(Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
         6: .line 906
            getstatic org.apache.cassandra.utils.MerkleTree$Hashable.serializer:Lorg/apache/cassandra/dht/IPartitionerDependentSerializer;
            aload 1 /* inner */
            getfield org.apache.cassandra.utils.MerkleTree$Inner.lchild:Lorg/apache/cassandra/utils/MerkleTree$Hashable;
            aload 2 /* out */
            iload 3 /* version */
            invokeinterface org.apache.cassandra.dht.IPartitionerDependentSerializer.serialize:(Ljava/lang/Object;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
         7: .line 907
            getstatic org.apache.cassandra.utils.MerkleTree$Hashable.serializer:Lorg/apache/cassandra/dht/IPartitionerDependentSerializer;
            aload 1 /* inner */
            getfield org.apache.cassandra.utils.MerkleTree$Inner.rchild:Lorg/apache/cassandra/utils/MerkleTree$Hashable;
            aload 2 /* out */
            iload 3 /* version */
            invokeinterface org.apache.cassandra.dht.IPartitionerDependentSerializer.serialize:(Ljava/lang/Object;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
         8: .line 908
            return
        end local 3 // int version
        end local 2 // org.apache.cassandra.io.util.DataOutputPlus out
        end local 1 // org.apache.cassandra.utils.MerkleTree$Inner inner
        end local 0 // org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/cassandra/utils/MerkleTree$Inner$InnerSerializer;
            0    9     1    inner  Lorg/apache/cassandra/utils/MerkleTree$Inner;
            0    9     2      out  Lorg/apache/cassandra/io/util/DataOutputPlus;
            0    9     3  version  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      inner    
      out      
      version  

  public org.apache.cassandra.utils.MerkleTree$Inner deserialize(java.io.DataInput, org.apache.cassandra.dht.IPartitioner, int);
    descriptor: (Ljava/io/DataInput;Lorg/apache/cassandra/dht/IPartitioner;I)Lorg/apache/cassandra/utils/MerkleTree$Inner;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer this
        start local 1 // java.io.DataInput in
        start local 2 // org.apache.cassandra.dht.IPartitioner p
        start local 3 // int version
         0: .line 912
            iload 3 /* version */
            bipush 10
            if_icmpge 7
         1: .line 914
            aload 1 /* in */
            invokeinterface java.io.DataInput.readInt:()I
            istore 4 /* hashLen */
        start local 4 // int hashLen
         2: .line 915
            iload 4 /* hashLen */
            iflt 3
            iload 4 /* hashLen */
            newarray 8
            goto 4
      StackMap locals: int
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: byte[]
         4: astore 5 /* hash */
        start local 5 // byte[] hash
         5: .line 916
            aload 5 /* hash */
            ifnull 7
         6: .line 917
            aload 1 /* in */
            aload 5 /* hash */
            invokeinterface java.io.DataInput.readFully:([B)V
        end local 5 // byte[] hash
        end local 4 // int hashLen
         7: .line 919
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.dht.Token.serializer:Lorg/apache/cassandra/dht/Token$TokenSerializer;
            aload 1 /* in */
            aload 2 /* p */
            iload 3 /* version */
            invokevirtual org.apache.cassandra.dht.Token$TokenSerializer.deserialize:(Ljava/io/DataInput;Lorg/apache/cassandra/dht/IPartitioner;I)Lorg/apache/cassandra/dht/Token;
            astore 4 /* token */
        start local 4 // org.apache.cassandra.dht.Token token
         8: .line 920
            getstatic org.apache.cassandra.utils.MerkleTree$Hashable.serializer:Lorg/apache/cassandra/dht/IPartitionerDependentSerializer;
            aload 1 /* in */
            aload 2 /* p */
            iload 3 /* version */
            invokeinterface org.apache.cassandra.dht.IPartitionerDependentSerializer.deserialize:(Ljava/io/DataInput;Lorg/apache/cassandra/dht/IPartitioner;I)Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.MerkleTree$Hashable
            astore 5 /* lchild */
        start local 5 // org.apache.cassandra.utils.MerkleTree$Hashable lchild
         9: .line 921
            getstatic org.apache.cassandra.utils.MerkleTree$Hashable.serializer:Lorg/apache/cassandra/dht/IPartitionerDependentSerializer;
            aload 1 /* in */
            aload 2 /* p */
            iload 3 /* version */
            invokeinterface org.apache.cassandra.dht.IPartitionerDependentSerializer.deserialize:(Ljava/io/DataInput;Lorg/apache/cassandra/dht/IPartitioner;I)Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.MerkleTree$Hashable
            astore 6 /* rchild */
        start local 6 // org.apache.cassandra.utils.MerkleTree$Hashable rchild
        10: .line 922
            new org.apache.cassandra.utils.MerkleTree$Inner
            dup
            aload 4 /* token */
            aload 5 /* lchild */
            aload 6 /* rchild */
            invokespecial org.apache.cassandra.utils.MerkleTree$Inner.<init>:(Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/utils/MerkleTree$Hashable;Lorg/apache/cassandra/utils/MerkleTree$Hashable;)V
            areturn
        end local 6 // org.apache.cassandra.utils.MerkleTree$Hashable rchild
        end local 5 // org.apache.cassandra.utils.MerkleTree$Hashable lchild
        end local 4 // org.apache.cassandra.dht.Token token
        end local 3 // int version
        end local 2 // org.apache.cassandra.dht.IPartitioner p
        end local 1 // java.io.DataInput in
        end local 0 // org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/apache/cassandra/utils/MerkleTree$Inner$InnerSerializer;
            0   11     1       in  Ljava/io/DataInput;
            0   11     2        p  Lorg/apache/cassandra/dht/IPartitioner;
            0   11     3  version  I
            2    7     4  hashLen  I
            5    7     5     hash  [B
            8   11     4    token  Lorg/apache/cassandra/dht/Token;
            9   11     5   lchild  Lorg/apache/cassandra/utils/MerkleTree$Hashable;
           10   11     6   rchild  Lorg/apache/cassandra/utils/MerkleTree$Hashable;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      in       
      p        
      version  

  public long serializedSize(org.apache.cassandra.utils.MerkleTree$Inner, int);
    descriptor: (Lorg/apache/cassandra/utils/MerkleTree$Inner;I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer this
        start local 1 // org.apache.cassandra.utils.MerkleTree$Inner inner
        start local 2 // int version
         0: .line 927
            lconst_0
            lstore 3 /* size */
        start local 3 // long size
         1: .line 928
            iload 2 /* version */
            bipush 10
            if_icmpge 6
         2: .line 930
            lload 3 /* size */
            aload 1 /* inner */
            getfield org.apache.cassandra.utils.MerkleTree$Inner.hash:[B
            ifnonnull 4
         3: .line 931
            iconst_m1
            invokestatic org.apache.cassandra.db.TypeSizes.sizeof:(I)I
            goto 5
         4: .line 932
      StackMap locals: org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer org.apache.cassandra.utils.MerkleTree$Inner int long
      StackMap stack: long
            aload 1 /* inner */
            invokevirtual org.apache.cassandra.utils.MerkleTree$Inner.hash:()[B
            arraylength
            invokestatic org.apache.cassandra.db.TypeSizes.sizeof:(I)I
            aload 1 /* inner */
            invokevirtual org.apache.cassandra.utils.MerkleTree$Inner.hash:()[B
            arraylength
            iadd
         5: .line 930
      StackMap locals: org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer org.apache.cassandra.utils.MerkleTree$Inner int long
      StackMap stack: long int
            i2l
            ladd
            lstore 3 /* size */
         6: .line 935
      StackMap locals:
      StackMap stack:
            lload 3 /* size */
            getstatic org.apache.cassandra.dht.Token.serializer:Lorg/apache/cassandra/dht/Token$TokenSerializer;
            aload 1 /* inner */
            getfield org.apache.cassandra.utils.MerkleTree$Inner.token:Lorg/apache/cassandra/dht/Token;
            iload 2 /* version */
            invokevirtual org.apache.cassandra.dht.Token$TokenSerializer.serializedSize:(Lorg/apache/cassandra/dht/Token;I)J
         7: .line 936
            getstatic org.apache.cassandra.utils.MerkleTree$Hashable.serializer:Lorg/apache/cassandra/dht/IPartitionerDependentSerializer;
            aload 1 /* inner */
            getfield org.apache.cassandra.utils.MerkleTree$Inner.lchild:Lorg/apache/cassandra/utils/MerkleTree$Hashable;
            iload 2 /* version */
            invokeinterface org.apache.cassandra.dht.IPartitionerDependentSerializer.serializedSize:(Ljava/lang/Object;I)J
         8: .line 935
            ladd
         9: .line 937
            getstatic org.apache.cassandra.utils.MerkleTree$Hashable.serializer:Lorg/apache/cassandra/dht/IPartitionerDependentSerializer;
            aload 1 /* inner */
            getfield org.apache.cassandra.utils.MerkleTree$Inner.rchild:Lorg/apache/cassandra/utils/MerkleTree$Hashable;
            iload 2 /* version */
            invokeinterface org.apache.cassandra.dht.IPartitionerDependentSerializer.serializedSize:(Ljava/lang/Object;I)J
        10: .line 935
            ladd
            ladd
            lstore 3 /* size */
        11: .line 938
            lload 3 /* size */
            lreturn
        end local 3 // long size
        end local 2 // int version
        end local 1 // org.apache.cassandra.utils.MerkleTree$Inner inner
        end local 0 // org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/apache/cassandra/utils/MerkleTree$Inner$InnerSerializer;
            0   12     1    inner  Lorg/apache/cassandra/utils/MerkleTree$Inner;
            0   12     2  version  I
            1   12     3     size  J
    MethodParameters:
         Name  Flags
      inner    
      version  

  public void serialize(java.lang.Object, org.apache.cassandra.io.util.DataOutputPlus, int);
    descriptor: (Ljava/lang/Object;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.cassandra.utils.MerkleTree$Inner
            aload 2
            iload 3
            invokevirtual org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer.serialize:(Lorg/apache/cassandra/utils/MerkleTree$Inner;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  public long serializedSize(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)J
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.cassandra.utils.MerkleTree$Inner
            iload 2
            invokevirtual org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer.serializedSize:(Lorg/apache/cassandra/utils/MerkleTree$Inner;I)J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object deserialize(java.io.DataInput, org.apache.cassandra.dht.IPartitioner, int);
    descriptor: (Ljava/io/DataInput;Lorg/apache/cassandra/dht/IPartitioner;I)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            iload 3
            invokevirtual org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer.deserialize:(Ljava/io/DataInput;Lorg/apache/cassandra/dht/IPartitioner;I)Lorg/apache/cassandra/utils/MerkleTree$Inner;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
}
Signature: Ljava/lang/Object;Lorg/apache/cassandra/dht/IPartitionerDependentSerializer<Lorg/apache/cassandra/utils/MerkleTree$Inner;>;
SourceFile: "MerkleTree.java"
NestHost: org.apache.cassandra.utils.MerkleTree
InnerClasses:
  public TokenSerializer = org.apache.cassandra.dht.Token$TokenSerializer of org.apache.cassandra.dht.Token
  abstract Hashable = org.apache.cassandra.utils.MerkleTree$Hashable of org.apache.cassandra.utils.MerkleTree
  Inner = org.apache.cassandra.utils.MerkleTree$Inner of org.apache.cassandra.utils.MerkleTree
  private InnerSerializer = org.apache.cassandra.utils.MerkleTree$Inner$InnerSerializer of org.apache.cassandra.utils.MerkleTree$Inner