final class org.apache.cassandra.batchlog.Batch$Serializer implements org.apache.cassandra.io.IVersionedSerializer<org.apache.cassandra.batchlog.Batch>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.cassandra.batchlog.Batch$Serializer
  super_class: java.lang.Object
{
  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 81
            ldc Lorg/apache/cassandra/batchlog/Batch;
            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.batchlog.Batch$Serializer.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.batchlog.Batch$Serializer this
         0: .line 81
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.batchlog.Batch$Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/batchlog/Batch$Serializer;

  public long serializedSize(org.apache.cassandra.batchlog.Batch, int);
    descriptor: (Lorg/apache/cassandra/batchlog/Batch;I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.apache.cassandra.batchlog.Batch$Serializer this
        start local 1 // org.apache.cassandra.batchlog.Batch batch
        start local 2 // int version
         0: .line 85
            getstatic org.apache.cassandra.batchlog.Batch$Serializer.$assertionsDisabled:Z
            ifne 1
            aload 1 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.encodedMutations:Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "attempted to serialize a 'remote' batch"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 87
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.utils.UUIDSerializer.serializer:Lorg/apache/cassandra/utils/UUIDSerializer;
            aload 1 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.id:Ljava/util/UUID;
            iload 2 /* version */
            invokevirtual org.apache.cassandra.utils.UUIDSerializer.serializedSize:(Ljava/util/UUID;I)J
            lstore 3 /* size */
        start local 3 // long size
         2: .line 88
            lload 3 /* size */
            aload 1 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.creationTime:J
            invokestatic org.apache.cassandra.db.TypeSizes.sizeof:(J)I
            i2l
            ladd
            lstore 3 /* size */
         3: .line 90
            lload 3 /* size */
            aload 1 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.decodedMutations:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            i2l
            invokestatic org.apache.cassandra.db.TypeSizes.sizeofUnsignedVInt:(J)I
            i2l
            ladd
            lstore 3 /* size */
         4: .line 91
            aload 1 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.decodedMutations:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: org.apache.cassandra.batchlog.Batch$Serializer org.apache.cassandra.batchlog.Batch int long top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Mutation
            astore 5 /* mutation */
        start local 5 // org.apache.cassandra.db.Mutation mutation
         6: .line 93
            getstatic org.apache.cassandra.db.Mutation.serializer:Lorg/apache/cassandra/db/Mutation$MutationSerializer;
            aload 5 /* mutation */
            iload 2 /* version */
            invokevirtual org.apache.cassandra.db.Mutation$MutationSerializer.serializedSize:(Lorg/apache/cassandra/db/Mutation;I)J
            l2i
            istore 7 /* mutationSize */
        start local 7 // int mutationSize
         7: .line 94
            lload 3 /* size */
            iload 7 /* mutationSize */
            i2l
            invokestatic org.apache.cassandra.db.TypeSizes.sizeofUnsignedVInt:(J)I
            i2l
            ladd
            lstore 3 /* size */
         8: .line 95
            lload 3 /* size */
            iload 7 /* mutationSize */
            i2l
            ladd
            lstore 3 /* size */
        end local 7 // int mutationSize
        end local 5 // org.apache.cassandra.db.Mutation mutation
         9: .line 91
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 98
            lload 3 /* size */
            lreturn
        end local 3 // long size
        end local 2 // int version
        end local 1 // org.apache.cassandra.batchlog.Batch batch
        end local 0 // org.apache.cassandra.batchlog.Batch$Serializer this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/apache/cassandra/batchlog/Batch$Serializer;
            0   11     1         batch  Lorg/apache/cassandra/batchlog/Batch;
            0   11     2       version  I
            2   11     3          size  J
            6    9     5      mutation  Lorg/apache/cassandra/db/Mutation;
            7    9     7  mutationSize  I
    MethodParameters:
         Name  Flags
      batch    
      version  

  public void serialize(org.apache.cassandra.batchlog.Batch, org.apache.cassandra.io.util.DataOutputPlus, int);
    descriptor: (Lorg/apache/cassandra/batchlog/Batch;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.cassandra.batchlog.Batch$Serializer this
        start local 1 // org.apache.cassandra.batchlog.Batch batch
        start local 2 // org.apache.cassandra.io.util.DataOutputPlus out
        start local 3 // int version
         0: .line 103
            getstatic org.apache.cassandra.batchlog.Batch$Serializer.$assertionsDisabled:Z
            ifne 1
            aload 1 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.encodedMutations:Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "attempted to serialize a 'remote' batch"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 105
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.utils.UUIDSerializer.serializer:Lorg/apache/cassandra/utils/UUIDSerializer;
            aload 1 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.id:Ljava/util/UUID;
            aload 2 /* out */
            iload 3 /* version */
            invokevirtual org.apache.cassandra.utils.UUIDSerializer.serialize:(Ljava/util/UUID;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
         2: .line 106
            aload 2 /* out */
            aload 1 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.creationTime:J
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeLong:(J)V
         3: .line 108
            aload 2 /* out */
            aload 1 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.decodedMutations:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            i2l
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeUnsignedVInt:(J)V
         4: .line 109
            aload 1 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.decodedMutations:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: org.apache.cassandra.batchlog.Batch$Serializer org.apache.cassandra.batchlog.Batch org.apache.cassandra.io.util.DataOutputPlus int top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Mutation
            astore 4 /* mutation */
        start local 4 // org.apache.cassandra.db.Mutation mutation
         6: .line 111
            aload 2 /* out */
            getstatic org.apache.cassandra.db.Mutation.serializer:Lorg/apache/cassandra/db/Mutation$MutationSerializer;
            aload 4 /* mutation */
            iload 3 /* version */
            invokevirtual org.apache.cassandra.db.Mutation$MutationSerializer.serializedSize:(Lorg/apache/cassandra/db/Mutation;I)J
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeUnsignedVInt:(J)V
         7: .line 112
            getstatic org.apache.cassandra.db.Mutation.serializer:Lorg/apache/cassandra/db/Mutation$MutationSerializer;
            aload 4 /* mutation */
            aload 2 /* out */
            iload 3 /* version */
            invokevirtual org.apache.cassandra.db.Mutation$MutationSerializer.serialize:(Lorg/apache/cassandra/db/Mutation;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
        end local 4 // org.apache.cassandra.db.Mutation mutation
         8: .line 109
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 114
            return
        end local 3 // int version
        end local 2 // org.apache.cassandra.io.util.DataOutputPlus out
        end local 1 // org.apache.cassandra.batchlog.Batch batch
        end local 0 // org.apache.cassandra.batchlog.Batch$Serializer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/apache/cassandra/batchlog/Batch$Serializer;
            0   10     1     batch  Lorg/apache/cassandra/batchlog/Batch;
            0   10     2       out  Lorg/apache/cassandra/io/util/DataOutputPlus;
            0   10     3   version  I
            6    8     4  mutation  Lorg/apache/cassandra/db/Mutation;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      batch    
      out      
      version  

  public org.apache.cassandra.batchlog.Batch deserialize(org.apache.cassandra.io.util.DataInputPlus, int);
    descriptor: (Lorg/apache/cassandra/io/util/DataInputPlus;I)Lorg/apache/cassandra/batchlog/Batch;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.apache.cassandra.batchlog.Batch$Serializer this
        start local 1 // org.apache.cassandra.io.util.DataInputPlus in
        start local 2 // int version
         0: .line 118
            getstatic org.apache.cassandra.utils.UUIDSerializer.serializer:Lorg/apache/cassandra/utils/UUIDSerializer;
            aload 1 /* in */
            iload 2 /* version */
            invokevirtual org.apache.cassandra.utils.UUIDSerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;I)Ljava/util/UUID;
            astore 3 /* id */
        start local 3 // java.util.UUID id
         1: .line 119
            aload 1 /* in */
            invokeinterface org.apache.cassandra.io.util.DataInputPlus.readLong:()J
            lstore 4 /* creationTime */
        start local 4 // long creationTime
         2: .line 125
            iload 2 /* version */
            getstatic org.apache.cassandra.net.MessagingService.current_version:I
            if_icmpne 4
         3: .line 126
            aload 3 /* id */
            lload 4 /* creationTime */
            aload 1 /* in */
            invokestatic org.apache.cassandra.batchlog.Batch$Serializer.readEncodedMutations:(Lorg/apache/cassandra/io/util/DataInputPlus;)Ljava/util/Collection;
            invokestatic org.apache.cassandra.batchlog.Batch.createRemote:(Ljava/util/UUID;JLjava/util/Collection;)Lorg/apache/cassandra/batchlog/Batch;
            goto 5
         4: .line 127
      StackMap locals: java.util.UUID long
      StackMap stack:
            aload 3 /* id */
            lload 4 /* creationTime */
            aload 1 /* in */
            iload 2 /* version */
            invokestatic org.apache.cassandra.batchlog.Batch$Serializer.decodeMutations:(Lorg/apache/cassandra/io/util/DataInputPlus;I)Ljava/util/Collection;
            invokestatic org.apache.cassandra.batchlog.Batch.createLocal:(Ljava/util/UUID;JLjava/util/Collection;)Lorg/apache/cassandra/batchlog/Batch;
         5: .line 125
      StackMap locals:
      StackMap stack: org.apache.cassandra.batchlog.Batch
            areturn
        end local 4 // long creationTime
        end local 3 // java.util.UUID id
        end local 2 // int version
        end local 1 // org.apache.cassandra.io.util.DataInputPlus in
        end local 0 // org.apache.cassandra.batchlog.Batch$Serializer this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/apache/cassandra/batchlog/Batch$Serializer;
            0    6     1            in  Lorg/apache/cassandra/io/util/DataInputPlus;
            0    6     2       version  I
            1    6     3            id  Ljava/util/UUID;
            2    6     4  creationTime  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      in       
      version  

  private static java.util.Collection<java.nio.ByteBuffer> readEncodedMutations(org.apache.cassandra.io.util.DataInputPlus);
    descriptor: (Lorg/apache/cassandra/io/util/DataInputPlus;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.cassandra.io.util.DataInputPlus in
         0: .line 132
            aload 0 /* in */
            invokeinterface org.apache.cassandra.io.util.DataInputPlus.readUnsignedVInt:()J
            l2i
            istore 1 /* count */
        start local 1 // int count
         1: .line 134
            new java.util.ArrayList
            dup
            iload 1 /* count */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* mutations */
        start local 2 // java.util.ArrayList mutations
         2: .line 135
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 136
      StackMap locals: int java.util.ArrayList int
      StackMap stack:
            aload 2 /* mutations */
            aload 0 /* in */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.readWithVIntLength:(Lorg/apache/cassandra/io/util/DataInputPlus;)Ljava/nio/ByteBuffer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 135
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* count */
            if_icmplt 4
        end local 3 // int i
         7: .line 138
            aload 2 /* mutations */
            areturn
        end local 2 // java.util.ArrayList mutations
        end local 1 // int count
        end local 0 // org.apache.cassandra.io.util.DataInputPlus in
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0         in  Lorg/apache/cassandra/io/util/DataInputPlus;
            1    8     1      count  I
            2    8     2  mutations  Ljava/util/ArrayList<Ljava/nio/ByteBuffer;>;
            3    7     3          i  I
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/cassandra/io/util/DataInputPlus;)Ljava/util/Collection<Ljava/nio/ByteBuffer;>;
    MethodParameters:
      Name  Flags
      in    

  private static java.util.Collection<org.apache.cassandra.db.Mutation> decodeMutations(org.apache.cassandra.io.util.DataInputPlus, int);
    descriptor: (Lorg/apache/cassandra/io/util/DataInputPlus;I)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.cassandra.io.util.DataInputPlus in
        start local 1 // int version
         0: .line 143
            aload 0 /* in */
            invokeinterface org.apache.cassandra.io.util.DataInputPlus.readUnsignedVInt:()J
            l2i
            istore 2 /* count */
        start local 2 // int count
         1: .line 145
            new java.util.ArrayList
            dup
            iload 2 /* count */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* mutations */
        start local 3 // java.util.ArrayList mutations
         2: .line 146
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 7
         4: .line 148
      StackMap locals: int java.util.ArrayList int
      StackMap stack:
            aload 0 /* in */
            invokeinterface org.apache.cassandra.io.util.DataInputPlus.readUnsignedVInt:()J
            pop2
         5: .line 149
            aload 3 /* mutations */
            getstatic org.apache.cassandra.db.Mutation.serializer:Lorg/apache/cassandra/db/Mutation$MutationSerializer;
            aload 0 /* in */
            iload 1 /* version */
            invokevirtual org.apache.cassandra.db.Mutation$MutationSerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;I)Lorg/apache/cassandra/db/Mutation;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         6: .line 146
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* count */
            if_icmplt 4
        end local 4 // int i
         8: .line 152
            aload 3 /* mutations */
            areturn
        end local 3 // java.util.ArrayList mutations
        end local 2 // int count
        end local 1 // int version
        end local 0 // org.apache.cassandra.io.util.DataInputPlus in
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0         in  Lorg/apache/cassandra/io/util/DataInputPlus;
            0    9     1    version  I
            1    9     2      count  I
            2    9     3  mutations  Ljava/util/ArrayList<Lorg/apache/cassandra/db/Mutation;>;
            3    8     4          i  I
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/cassandra/io/util/DataInputPlus;I)Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;
    MethodParameters:
         Name  Flags
      in       
      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.batchlog.Batch
            aload 2
            iload 3
            invokevirtual org.apache.cassandra.batchlog.Batch$Serializer.serialize:(Lorg/apache/cassandra/batchlog/Batch;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.batchlog.Batch
            iload 2
            invokevirtual org.apache.cassandra.batchlog.Batch$Serializer.serializedSize:(Lorg/apache/cassandra/batchlog/Batch;I)J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object deserialize(org.apache.cassandra.io.util.DataInputPlus, int);
    descriptor: (Lorg/apache/cassandra/io/util/DataInputPlus;I)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            iload 2
            invokevirtual org.apache.cassandra.batchlog.Batch$Serializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;I)Lorg/apache/cassandra/batchlog/Batch;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
}
Signature: Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer<Lorg/apache/cassandra/batchlog/Batch;>;
SourceFile: "Batch.java"
NestHost: org.apache.cassandra.batchlog.Batch
InnerClasses:
  final Serializer = org.apache.cassandra.batchlog.Batch$Serializer of org.apache.cassandra.batchlog.Batch
  public MutationSerializer = org.apache.cassandra.db.Mutation$MutationSerializer of org.apache.cassandra.db.Mutation