public abstract class org.apache.cassandra.db.marshal.CollectionType<T> extends org.apache.cassandra.db.marshal.AbstractType<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.cassandra.db.marshal.CollectionType
  super_class: org.apache.cassandra.db.marshal.AbstractType
{
  public static org.apache.cassandra.db.rows.CellPath$Serializer cellPathSerializer;
    descriptor: Lorg/apache/cassandra/db/rows/CellPath$Serializer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public final org.apache.cassandra.db.marshal.CollectionType$Kind kind;
    descriptor: Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Lorg/apache/cassandra/db/marshal/CollectionType$Kind;

  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=2, locals=0, args_size=0
         0: .line 44
            ldc Lorg/apache/cassandra/db/marshal/CollectionType;
            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.db.marshal.CollectionType.$assertionsDisabled:Z
         3: .line 46
            new org.apache.cassandra.db.marshal.CollectionType$CollectionPathSerializer
            dup
            invokespecial org.apache.cassandra.db.marshal.CollectionType$CollectionPathSerializer.<init>:()V
            putstatic org.apache.cassandra.db.marshal.CollectionType.cellPathSerializer:Lorg/apache/cassandra/db/rows/CellPath$Serializer;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.apache.cassandra.db.marshal.AbstractType$ComparisonType, org.apache.cassandra.db.marshal.CollectionType$Kind);
    descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType$ComparisonType;Lorg/apache/cassandra/db/marshal/CollectionType$Kind;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
        start local 1 // org.apache.cassandra.db.marshal.AbstractType$ComparisonType comparisonType
        start local 2 // org.apache.cassandra.db.marshal.CollectionType$Kind kind
         0: .line 79
            aload 0 /* this */
            aload 1 /* comparisonType */
            invokespecial org.apache.cassandra.db.marshal.AbstractType.<init>:(Lorg/apache/cassandra/db/marshal/AbstractType$ComparisonType;)V
         1: .line 80
            aload 0 /* this */
            aload 2 /* kind */
            putfield org.apache.cassandra.db.marshal.CollectionType.kind:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
         2: .line 81
            return
        end local 2 // org.apache.cassandra.db.marshal.CollectionType$Kind kind
        end local 1 // org.apache.cassandra.db.marshal.AbstractType$ComparisonType comparisonType
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;
            0    3     1  comparisonType  Lorg/apache/cassandra/db/marshal/AbstractType$ComparisonType;
            0    3     2            kind  Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
    Signature: (Lorg/apache/cassandra/db/marshal/AbstractType$ComparisonType;Lorg/apache/cassandra/db/marshal/CollectionType$Kind;)V
    MethodParameters:
                Name  Flags
      comparisonType  
      kind            

  public abstract org.apache.cassandra.db.marshal.AbstractType<?> nameComparator();
    descriptor: ()Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/apache/cassandra/db/marshal/AbstractType<*>;

  public abstract org.apache.cassandra.db.marshal.AbstractType<?> valueComparator();
    descriptor: ()Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/apache/cassandra/db/marshal/AbstractType<*>;

  protected abstract java.util.List<java.nio.ByteBuffer> serializedValues(java.util.Iterator<org.apache.cassandra.db.rows.Cell>);
    descriptor: (Ljava/util/Iterator;)Ljava/util/List;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Ljava/util/Iterator<Lorg/apache/cassandra/db/rows/Cell;>;)Ljava/util/List<Ljava/nio/ByteBuffer;>;
    MethodParameters:
       Name  Flags
      cells  

  public abstract org.apache.cassandra.serializers.CollectionSerializer<T> getSerializer();
    descriptor: ()Lorg/apache/cassandra/serializers/CollectionSerializer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/apache/cassandra/serializers/CollectionSerializer<TT;>;

  public org.apache.cassandra.cql3.ColumnSpecification makeCollectionReceiver(org.apache.cassandra.cql3.ColumnSpecification, boolean);
    descriptor: (Lorg/apache/cassandra/cql3/ColumnSpecification;Z)Lorg/apache/cassandra/cql3/ColumnSpecification;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
        start local 1 // org.apache.cassandra.cql3.ColumnSpecification collection
        start local 2 // boolean isKey
         0: .line 93
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.CollectionType.kind:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            aload 1 /* collection */
            iload 2 /* isKey */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.makeCollectionReceiver:(Lorg/apache/cassandra/cql3/ColumnSpecification;Z)Lorg/apache/cassandra/cql3/ColumnSpecification;
            areturn
        end local 2 // boolean isKey
        end local 1 // org.apache.cassandra.cql3.ColumnSpecification collection
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;
            0    1     1  collection  Lorg/apache/cassandra/cql3/ColumnSpecification;
            0    1     2       isKey  Z
    MethodParameters:
            Name  Flags
      collection  
      isKey       

  public java.lang.String getString(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
        start local 1 // java.nio.ByteBuffer bytes
         0: .line 98
            getstatic org.apache.cassandra.db.marshal.BytesType.instance:Lorg/apache/cassandra/db/marshal/BytesType;
            aload 1 /* bytes */
            invokevirtual org.apache.cassandra.db.marshal.BytesType.getString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            areturn
        end local 1 // java.nio.ByteBuffer bytes
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;
            0    1     1  bytes  Ljava/nio/ByteBuffer;
    MethodParameters:
       Name  Flags
      bytes  

  public java.nio.ByteBuffer fromString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
        start local 1 // java.lang.String source
         0: .line 105
            aload 1 /* source */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.hexToBytes:(Ljava/lang/String;)Ljava/nio/ByteBuffer;
         1: areturn
         2: .line 107
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            astore 2 /* e */
        start local 2 // java.lang.NumberFormatException e
         3: .line 109
            new org.apache.cassandra.serializers.MarshalException
            dup
            ldc "cannot parse '%s' as hex bytes"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* source */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 2 /* e */
            invokespecial org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.NumberFormatException e
        end local 1 // java.lang.String source
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;
            0    4     1  source  Ljava/lang/String;
            3    4     2       e  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NumberFormatException
    MethodParameters:
        Name  Flags
      source  

  public boolean isCollection();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
         0: .line 115
            iconst_1
            ireturn
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;

  public void validateCellValue(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
        start local 1 // java.nio.ByteBuffer cellValue
         0: .line 121
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isMultiCell:()Z
            ifeq 2
         1: .line 122
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.valueComparator:()Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 1 /* cellValue */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.validateCellValue:(Ljava/nio/ByteBuffer;)V
            goto 3
         2: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cellValue */
            invokespecial org.apache.cassandra.db.marshal.AbstractType.validateCellValue:(Ljava/nio/ByteBuffer;)V
         3: .line 125
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.ByteBuffer cellValue
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;
            0    4     1  cellValue  Ljava/nio/ByteBuffer;
    Exceptions:
      throws org.apache.cassandra.serializers.MarshalException
    MethodParameters:
           Name  Flags
      cellValue  

  public boolean isMap();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
         0: .line 133
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.CollectionType.kind:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            getstatic org.apache.cassandra.db.marshal.CollectionType$Kind.MAP:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;

  public boolean isFreezable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
         0: .line 139
            iconst_1
            ireturn
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;

  protected int collectionSize(java.util.List<java.nio.ByteBuffer>);
    descriptor: (Ljava/util/List;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
        start local 1 // java.util.List values
         0: .line 145
            aload 1 /* values */
            invokeinterface java.util.List.size:()I
            ireturn
        end local 1 // java.util.List values
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;
            0    1     1  values  Ljava/util/List<Ljava/nio/ByteBuffer;>;
    Signature: (Ljava/util/List<Ljava/nio/ByteBuffer;>;)I
    MethodParameters:
        Name  Flags
      values  

  public java.nio.ByteBuffer serializeForNativeProtocol(java.util.Iterator<org.apache.cassandra.db.rows.Cell>, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Ljava/util/Iterator;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
        start local 1 // java.util.Iterator cells
        start local 2 // org.apache.cassandra.transport.ProtocolVersion version
         0: .line 150
            getstatic org.apache.cassandra.db.marshal.CollectionType.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isMultiCell:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cells */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.serializedValues:(Ljava/util/Iterator;)Ljava/util/List;
            astore 3 /* values */
        start local 3 // java.util.List values
         2: .line 152
            aload 0 /* this */
            aload 3 /* values */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.collectionSize:(Ljava/util/List;)I
            istore 4 /* size */
        start local 4 // int size
         3: .line 153
            aload 3 /* values */
            iload 4 /* size */
            aload 2 /* version */
            invokestatic org.apache.cassandra.serializers.CollectionSerializer.pack:(Ljava/util/Collection;ILorg/apache/cassandra/transport/ProtocolVersion;)Ljava/nio/ByteBuffer;
            areturn
        end local 4 // int size
        end local 3 // java.util.List values
        end local 2 // org.apache.cassandra.transport.ProtocolVersion version
        end local 1 // java.util.Iterator cells
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;
            0    4     1    cells  Ljava/util/Iterator<Lorg/apache/cassandra/db/rows/Cell;>;
            0    4     2  version  Lorg/apache/cassandra/transport/ProtocolVersion;
            2    4     3   values  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            3    4     4     size  I
    Signature: (Ljava/util/Iterator<Lorg/apache/cassandra/db/rows/Cell;>;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/nio/ByteBuffer;
    MethodParameters:
         Name  Flags
      cells    
      version  

  public boolean isCompatibleWith(org.apache.cassandra.db.marshal.AbstractType<?>);
    descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
        start local 1 // org.apache.cassandra.db.marshal.AbstractType previous
         0: .line 159
            aload 0 /* this */
            aload 1 /* previous */
            if_acmpne 2
         1: .line 160
            iconst_1
            ireturn
         2: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* previous */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 163
            iconst_0
            ireturn
         4: .line 165
      StackMap locals:
      StackMap stack:
            aload 1 /* previous */
            checkcast org.apache.cassandra.db.marshal.CollectionType
            astore 2 /* tprev */
        start local 2 // org.apache.cassandra.db.marshal.CollectionType tprev
         5: .line 166
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isMultiCell:()Z
            aload 2 /* tprev */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isMultiCell:()Z
            if_icmpeq 7
         6: .line 167
            iconst_0
            ireturn
         7: .line 170
      StackMap locals: org.apache.cassandra.db.marshal.CollectionType
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isMultiCell:()Z
            ifne 9
         8: .line 171
            aload 0 /* this */
            aload 2 /* tprev */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isCompatibleWithFrozen:(Lorg/apache/cassandra/db/marshal/CollectionType;)Z
            ireturn
         9: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.nameComparator:()Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 2 /* tprev */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.nameComparator:()Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isCompatibleWith:(Lorg/apache/cassandra/db/marshal/AbstractType;)Z
            ifne 11
        10: .line 174
            iconst_0
            ireturn
        11: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.valueComparator:()Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 2 /* tprev */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.valueComparator:()Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isValueCompatibleWith:(Lorg/apache/cassandra/db/marshal/AbstractType;)Z
            ireturn
        end local 2 // org.apache.cassandra.db.marshal.CollectionType tprev
        end local 1 // org.apache.cassandra.db.marshal.AbstractType previous
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;
            0   12     1  previous  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
            5   12     2     tprev  Lorg/apache/cassandra/db/marshal/CollectionType;
    Signature: (Lorg/apache/cassandra/db/marshal/AbstractType<*>;)Z
    MethodParameters:
          Name  Flags
      previous  

  public boolean isValueCompatibleWithInternal(org.apache.cassandra.db.marshal.AbstractType<?>);
    descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
        start local 1 // org.apache.cassandra.db.marshal.AbstractType previous
         0: .line 184
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isMultiCell:()Z
            ifeq 2
         1: .line 185
            aload 0 /* this */
            aload 1 /* previous */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isCompatibleWith:(Lorg/apache/cassandra/db/marshal/AbstractType;)Z
            ireturn
         2: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* previous */
            if_acmpne 4
         3: .line 188
            iconst_1
            ireturn
         4: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* previous */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 191
            iconst_0
            ireturn
         6: .line 193
      StackMap locals:
      StackMap stack:
            aload 1 /* previous */
            checkcast org.apache.cassandra.db.marshal.CollectionType
            astore 2 /* tprev */
        start local 2 // org.apache.cassandra.db.marshal.CollectionType tprev
         7: .line 194
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isMultiCell:()Z
            aload 2 /* tprev */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isMultiCell:()Z
            if_icmpeq 9
         8: .line 195
            iconst_0
            ireturn
         9: .line 198
      StackMap locals: org.apache.cassandra.db.marshal.CollectionType
      StackMap stack:
            aload 0 /* this */
            aload 2 /* tprev */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isValueCompatibleWithFrozen:(Lorg/apache/cassandra/db/marshal/CollectionType;)Z
            ireturn
        end local 2 // org.apache.cassandra.db.marshal.CollectionType tprev
        end local 1 // org.apache.cassandra.db.marshal.AbstractType previous
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;
            0   10     1  previous  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
            7   10     2     tprev  Lorg/apache/cassandra/db/marshal/CollectionType;
    Signature: (Lorg/apache/cassandra/db/marshal/AbstractType<*>;)Z
    MethodParameters:
          Name  Flags
      previous  

  protected abstract boolean isCompatibleWithFrozen(org.apache.cassandra.db.marshal.CollectionType<?>);
    descriptor: (Lorg/apache/cassandra/db/marshal/CollectionType;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lorg/apache/cassandra/db/marshal/CollectionType<*>;)Z
    MethodParameters:
          Name  Flags
      previous  

  protected abstract boolean isValueCompatibleWithFrozen(org.apache.cassandra.db.marshal.CollectionType<?>);
    descriptor: (Lorg/apache/cassandra/db/marshal/CollectionType;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lorg/apache/cassandra/db/marshal/CollectionType<*>;)Z
    MethodParameters:
          Name  Flags
      previous  

  public org.apache.cassandra.cql3.CQL3Type asCQL3Type();
    descriptor: ()Lorg/apache/cassandra/cql3/CQL3Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
         0: .line 209
            new org.apache.cassandra.cql3.CQL3Type$Collection
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.cql3.CQL3Type$Collection.<init>:(Lorg/apache/cassandra/db/marshal/CollectionType;)V
            areturn
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;

  public boolean equals(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
        start local 1 // java.lang.Object o
        start local 2 // boolean ignoreFreezing
         0: .line 215
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 216
            iconst_1
            ireturn
         2: .line 218
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof org.apache.cassandra.db.marshal.CollectionType
            ifne 4
         3: .line 219
            iconst_0
            ireturn
         4: .line 221
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.apache.cassandra.db.marshal.CollectionType
            astore 3 /* other */
        start local 3 // org.apache.cassandra.db.marshal.CollectionType other
         5: .line 223
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.CollectionType.kind:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            aload 3 /* other */
            getfield org.apache.cassandra.db.marshal.CollectionType.kind:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            if_acmpeq 7
         6: .line 224
            iconst_0
            ireturn
         7: .line 226
      StackMap locals: org.apache.cassandra.db.marshal.CollectionType
      StackMap stack:
            iload 2 /* ignoreFreezing */
            ifne 9
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isMultiCell:()Z
            aload 3 /* other */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.isMultiCell:()Z
            if_icmpeq 9
         8: .line 227
            iconst_0
            ireturn
         9: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.nameComparator:()Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 3 /* other */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.nameComparator:()Lorg/apache/cassandra/db/marshal/AbstractType;
            iload 2 /* ignoreFreezing */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.equals:(Ljava/lang/Object;Z)Z
            ifeq 12
        10: .line 230
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.valueComparator:()Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 3 /* other */
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.valueComparator:()Lorg/apache/cassandra/db/marshal/AbstractType;
            iload 2 /* ignoreFreezing */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.equals:(Ljava/lang/Object;Z)Z
            ifeq 12
        11: .line 229
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        12: iconst_0
            ireturn
        end local 3 // org.apache.cassandra.db.marshal.CollectionType other
        end local 2 // boolean ignoreFreezing
        end local 1 // java.lang.Object o
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;
            0   13     1               o  Ljava/lang/Object;
            0   13     2  ignoreFreezing  Z
            5   13     3           other  Lorg/apache/cassandra/db/marshal/CollectionType;
    MethodParameters:
                Name  Flags
      o               
      ignoreFreezing  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.CollectionType this
         0: .line 236
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.toString:(Z)Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.db.marshal.CollectionType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/CollectionType<TT;>;

  public org.apache.cassandra.serializers.TypeSerializer getSerializer();
    descriptor: ()Lorg/apache/cassandra/serializers/TypeSerializer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.apache.cassandra.db.marshal.CollectionType.getSerializer:()Lorg/apache/cassandra/serializers/CollectionSerializer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <T:Ljava/lang/Object;>Lorg/apache/cassandra/db/marshal/AbstractType<TT;>;
SourceFile: "CollectionType.java"
NestMembers:
  org.apache.cassandra.db.marshal.CollectionType$CollectionPathSerializer  org.apache.cassandra.db.marshal.CollectionType$Kind  org.apache.cassandra.db.marshal.CollectionType$Kind$1  org.apache.cassandra.db.marshal.CollectionType$Kind$2  org.apache.cassandra.db.marshal.CollectionType$Kind$3
InnerClasses:
  public Collection = org.apache.cassandra.cql3.CQL3Type$Collection of org.apache.cassandra.cql3.CQL3Type
  public final ComparisonType = org.apache.cassandra.db.marshal.AbstractType$ComparisonType of org.apache.cassandra.db.marshal.AbstractType
  private CollectionPathSerializer = org.apache.cassandra.db.marshal.CollectionType$CollectionPathSerializer of org.apache.cassandra.db.marshal.CollectionType
  public abstract Kind = org.apache.cassandra.db.marshal.CollectionType$Kind of org.apache.cassandra.db.marshal.CollectionType
  public abstract Serializer = org.apache.cassandra.db.rows.CellPath$Serializer of org.apache.cassandra.db.rows.CellPath