public class org.apache.cassandra.db.marshal.UserType extends org.apache.cassandra.db.marshal.TupleType
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.db.marshal.UserType
  super_class: org.apache.cassandra.db.marshal.TupleType
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public final java.lang.String keyspace;
    descriptor: Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final java.nio.ByteBuffer name;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private final java.util.List<org.apache.cassandra.cql3.FieldIdentifier> fieldNames;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/cassandra/cql3/FieldIdentifier;>;

  private final java.util.List<java.lang.String> stringFieldNames;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private final boolean isMultiCell;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.serializers.UserTypeSerializer serializer;
    descriptor: Lorg/apache/cassandra/serializers/UserTypeSerializer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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 45
            ldc Lorg/apache/cassandra/db/marshal/UserType;
            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.UserType.$assertionsDisabled:Z
         3: .line 47
            ldc Lorg/apache/cassandra/db/marshal/UserType;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.db.marshal.UserType.logger:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, java.nio.ByteBuffer, java.util.List<org.apache.cassandra.cql3.FieldIdentifier>, java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>>, );
    descriptor: (Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/util/List;Ljava/util/List;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=6
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // java.lang.String keyspace
        start local 2 // java.nio.ByteBuffer name
        start local 3 // java.util.List fieldNames
        start local 4 // java.util.List fieldTypes
        start local 5 // boolean isMultiCell
         0: .line 58
            aload 0 /* this */
            aload 4 /* fieldTypes */
            iconst_0
            invokespecial org.apache.cassandra.db.marshal.TupleType.<init>:(Ljava/util/List;Z)V
         1: .line 59
            getstatic org.apache.cassandra.db.marshal.UserType.$assertionsDisabled:Z
            ifne 2
            aload 3 /* fieldNames */
            invokeinterface java.util.List.size:()I
            aload 4 /* fieldTypes */
            invokeinterface java.util.List.size:()I
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 60
      StackMap locals: org.apache.cassandra.db.marshal.UserType java.lang.String java.nio.ByteBuffer java.util.List java.util.List int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyspace */
            putfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
         3: .line 61
            aload 0 /* this */
            aload 2 /* name */
            putfield org.apache.cassandra.db.marshal.UserType.name:Ljava/nio/ByteBuffer;
         4: .line 62
            aload 0 /* this */
            aload 3 /* fieldNames */
            putfield org.apache.cassandra.db.marshal.UserType.fieldNames:Ljava/util/List;
         5: .line 63
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 3 /* fieldNames */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.apache.cassandra.db.marshal.UserType.stringFieldNames:Ljava/util/List;
         6: .line 64
            aload 0 /* this */
            iload 5 /* isMultiCell */
            putfield org.apache.cassandra.db.marshal.UserType.isMultiCell:Z
         7: .line 66
            new java.util.LinkedHashMap
            dup
            aload 4 /* fieldTypes */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.LinkedHashMap.<init>:(I)V
            astore 6 /* fieldSerializers */
        start local 6 // java.util.LinkedHashMap fieldSerializers
         8: .line 67
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         9: aload 3 /* fieldNames */
            invokeinterface java.util.List.size:()I
            istore 8 /* m */
        start local 8 // int m
        10: goto 15
        11: .line 69
      StackMap locals: java.util.LinkedHashMap int int
      StackMap stack:
            aload 3 /* fieldNames */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.FieldIdentifier
            invokevirtual org.apache.cassandra.cql3.FieldIdentifier.toString:()Ljava/lang/String;
            astore 9 /* stringFieldName */
        start local 9 // java.lang.String stringFieldName
        12: .line 70
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.stringFieldNames:Ljava/util/List;
            aload 9 /* stringFieldName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 71
            aload 6 /* fieldSerializers */
            aload 9 /* stringFieldName */
            aload 4 /* fieldTypes */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.marshal.AbstractType
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.getSerializer:()Lorg/apache/cassandra/serializers/TypeSerializer;
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.String stringFieldName
        14: .line 67
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 7 /* i */
            iload 8 /* m */
            if_icmplt 11
        end local 8 // int m
        end local 7 // int i
        16: .line 73
            aload 0 /* this */
            new org.apache.cassandra.serializers.UserTypeSerializer
            dup
            aload 6 /* fieldSerializers */
            invokespecial org.apache.cassandra.serializers.UserTypeSerializer.<init>:(Ljava/util/LinkedHashMap;)V
            putfield org.apache.cassandra.db.marshal.UserType.serializer:Lorg/apache/cassandra/serializers/UserTypeSerializer;
        17: .line 74
            return
        end local 6 // java.util.LinkedHashMap fieldSerializers
        end local 5 // boolean isMultiCell
        end local 4 // java.util.List fieldTypes
        end local 3 // java.util.List fieldNames
        end local 2 // java.nio.ByteBuffer name
        end local 1 // java.lang.String keyspace
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lorg/apache/cassandra/db/marshal/UserType;
            0   18     1          keyspace  Ljava/lang/String;
            0   18     2              name  Ljava/nio/ByteBuffer;
            0   18     3        fieldNames  Ljava/util/List<Lorg/apache/cassandra/cql3/FieldIdentifier;>;
            0   18     4        fieldTypes  Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
            0   18     5       isMultiCell  Z
            8   18     6  fieldSerializers  Ljava/util/LinkedHashMap<Ljava/lang/String;Lorg/apache/cassandra/serializers/TypeSerializer<*>;>;
            9   16     7                 i  I
           10   16     8                 m  I
           12   14     9   stringFieldName  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/util/List<Lorg/apache/cassandra/cql3/FieldIdentifier;>;Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;Z)V
    MethodParameters:
             Name  Flags
      keyspace     
      name         
      fieldNames   
      fieldTypes   
      isMultiCell  

  public static org.apache.cassandra.db.marshal.UserType getInstance(org.apache.cassandra.db.marshal.TypeParser);
    descriptor: (Lorg/apache/cassandra/db/marshal/TypeParser;)Lorg/apache/cassandra/db/marshal/UserType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.TypeParser parser
         0: .line 78
            aload 0 /* parser */
            invokevirtual org.apache.cassandra.db.marshal.TypeParser.getUserTypeParameters:()Lorg/apache/cassandra/utils/Pair;
            astore 1 /* params */
        start local 1 // org.apache.cassandra.utils.Pair params
         1: .line 79
            aload 1 /* params */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.Pair
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* keyspace */
        start local 2 // java.lang.String keyspace
         2: .line 80
            aload 1 /* params */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.Pair
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 3 /* name */
        start local 3 // java.nio.ByteBuffer name
         3: .line 81
            new java.util.ArrayList
            dup
            aload 1 /* params */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* columnNames */
        start local 4 // java.util.List columnNames
         4: .line 82
            new java.util.ArrayList
            dup
            aload 1 /* params */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* columnTypes */
        start local 5 // java.util.List columnTypes
         5: .line 83
            aload 1 /* params */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: org.apache.cassandra.db.marshal.TypeParser org.apache.cassandra.utils.Pair java.lang.String java.nio.ByteBuffer java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.Pair
            astore 6 /* p */
        start local 6 // org.apache.cassandra.utils.Pair p
         7: .line 85
            aload 4 /* columnNames */
            new org.apache.cassandra.cql3.FieldIdentifier
            dup
            aload 6 /* p */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            invokespecial org.apache.cassandra.cql3.FieldIdentifier.<init>:(Ljava/nio/ByteBuffer;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 86
            aload 5 /* columnTypes */
            aload 6 /* p */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast org.apache.cassandra.db.marshal.AbstractType
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.apache.cassandra.utils.Pair p
         9: .line 83
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 89
            new org.apache.cassandra.db.marshal.UserType
            dup
            aload 2 /* keyspace */
            aload 3 /* name */
            aload 4 /* columnNames */
            aload 5 /* columnTypes */
            iconst_1
            invokespecial org.apache.cassandra.db.marshal.UserType.<init>:(Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/util/List;Ljava/util/List;Z)V
            areturn
        end local 5 // java.util.List columnTypes
        end local 4 // java.util.List columnNames
        end local 3 // java.nio.ByteBuffer name
        end local 2 // java.lang.String keyspace
        end local 1 // org.apache.cassandra.utils.Pair params
        end local 0 // org.apache.cassandra.db.marshal.TypeParser parser
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0       parser  Lorg/apache/cassandra/db/marshal/TypeParser;
            1   11     1       params  Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/utils/Pair<Ljava/lang/String;Ljava/nio/ByteBuffer;>;Ljava/util/List<Lorg/apache/cassandra/utils/Pair<Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/AbstractType;>;>;>;
            2   11     2     keyspace  Ljava/lang/String;
            3   11     3         name  Ljava/nio/ByteBuffer;
            4   11     4  columnNames  Ljava/util/List<Lorg/apache/cassandra/cql3/FieldIdentifier;>;
            5   11     5  columnTypes  Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
            7    9     6            p  Lorg/apache/cassandra/utils/Pair<Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/AbstractType;>;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException, org.apache.cassandra.exceptions.SyntaxException
    MethodParameters:
        Name  Flags
      parser  

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

  public boolean isMultiCell();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 101
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.isMultiCell:Z
            ireturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;

  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.UserType this
         0: .line 107
            iconst_1
            ireturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;

  public org.apache.cassandra.db.marshal.AbstractType<?> fieldType(int);
    descriptor: (I)Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // int i
         0: .line 112
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual org.apache.cassandra.db.marshal.UserType.type:(I)Lorg/apache/cassandra/db/marshal/AbstractType;
            areturn
        end local 1 // int i
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;
            0    1     1     i  I
    Signature: (I)Lorg/apache/cassandra/db/marshal/AbstractType<*>;
    MethodParameters:
      Name  Flags
      i     

  public java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>> fieldTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 117
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            areturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;
    Signature: ()Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;

  public org.apache.cassandra.cql3.FieldIdentifier fieldName(int);
    descriptor: (I)Lorg/apache/cassandra/cql3/FieldIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // int i
         0: .line 122
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.fieldNames:Ljava/util/List;
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.FieldIdentifier
            areturn
        end local 1 // int i
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public java.lang.String fieldNameAsString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // int i
         0: .line 127
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.stringFieldNames:Ljava/util/List;
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // int i
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public java.util.List<org.apache.cassandra.cql3.FieldIdentifier> fieldNames();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 132
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.fieldNames:Ljava/util/List;
            areturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;
    Signature: ()Ljava/util/List<Lorg/apache/cassandra/cql3/FieldIdentifier;>;

  public java.lang.String getNameAsString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 137
            getstatic org.apache.cassandra.db.marshal.UTF8Type.instance:Lorg/apache/cassandra/db/marshal/UTF8Type;
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.name:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.UTF8Type.compose:(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;

  public int fieldPosition(org.apache.cassandra.cql3.FieldIdentifier);
    descriptor: (Lorg/apache/cassandra/cql3/FieldIdentifier;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // org.apache.cassandra.cql3.FieldIdentifier fieldName
         0: .line 142
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.fieldNames:Ljava/util/List;
            aload 1 /* fieldName */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            ireturn
        end local 1 // org.apache.cassandra.cql3.FieldIdentifier fieldName
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/cassandra/db/marshal/UserType;
            0    1     1  fieldName  Lorg/apache/cassandra/cql3/FieldIdentifier;
    MethodParameters:
           Name  Flags
      fieldName  

  public org.apache.cassandra.db.rows.CellPath cellPathForField(org.apache.cassandra.cql3.FieldIdentifier);
    descriptor: (Lorg/apache/cassandra/cql3/FieldIdentifier;)Lorg/apache/cassandra/db/rows/CellPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // org.apache.cassandra.cql3.FieldIdentifier fieldName
         0: .line 148
            aload 0 /* this */
            aload 1 /* fieldName */
            invokevirtual org.apache.cassandra.db.marshal.UserType.fieldPosition:(Lorg/apache/cassandra/cql3/FieldIdentifier;)I
            i2s
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytes:(S)Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.db.rows.CellPath.create:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/rows/CellPath;
            areturn
        end local 1 // org.apache.cassandra.cql3.FieldIdentifier fieldName
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/cassandra/db/marshal/UserType;
            0    1     1  fieldName  Lorg/apache/cassandra/cql3/FieldIdentifier;
    MethodParameters:
           Name  Flags
      fieldName  

  public org.apache.cassandra.db.marshal.ShortType nameComparator();
    descriptor: ()Lorg/apache/cassandra/db/marshal/ShortType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 153
            getstatic org.apache.cassandra.db.marshal.ShortType.instance:Lorg/apache/cassandra/db/marshal/ShortType;
            areturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;

  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=4, locals=7, args_size=3
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // java.util.Iterator cells
        start local 2 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
         0: .line 158
            getstatic org.apache.cassandra.db.marshal.UserType.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.isMultiCell:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.size:()I
            anewarray java.nio.ByteBuffer
            astore 3 /* components */
        start local 3 // java.nio.ByteBuffer[] components
         2: .line 161
            iconst_0
            istore 4 /* fieldPosition */
        start local 4 // short fieldPosition
         3: .line 162
            goto 10
         4: .line 164
      StackMap locals: java.nio.ByteBuffer[] int
      StackMap stack:
            aload 1 /* cells */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.Cell
            astore 5 /* cell */
        start local 5 // org.apache.cassandra.db.rows.Cell cell
         5: .line 167
            aload 5 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.path:()Lorg/apache/cassandra/db/rows/CellPath;
            iconst_0
            invokevirtual org.apache.cassandra.db.rows.CellPath.get:(I)Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.toShort:(Ljava/nio/ByteBuffer;)S
            istore 6 /* fieldPositionOfCell */
        start local 6 // short fieldPositionOfCell
         6: .line 168
            goto 8
         7: .line 169
      StackMap locals: org.apache.cassandra.db.rows.Cell int
      StackMap stack:
            aload 3 /* components */
            iload 4 /* fieldPosition */
            dup
            iconst_1
            iadd
            i2s
            istore 4 /* fieldPosition */
            aconst_null
            aastore
         8: .line 168
      StackMap locals:
      StackMap stack:
            iload 4 /* fieldPosition */
            iload 6 /* fieldPositionOfCell */
            if_icmplt 7
         9: .line 171
            aload 3 /* components */
            iload 4 /* fieldPosition */
            dup
            iconst_1
            iadd
            i2s
            istore 4 /* fieldPosition */
            aload 5 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.value:()Ljava/nio/ByteBuffer;
            aastore
        end local 6 // short fieldPositionOfCell
        end local 5 // org.apache.cassandra.db.rows.Cell cell
        10: .line 162
      StackMap locals:
      StackMap stack:
            aload 1 /* cells */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 175
            goto 13
        12: .line 176
      StackMap locals:
      StackMap stack:
            aload 3 /* components */
            iload 4 /* fieldPosition */
            dup
            iconst_1
            iadd
            i2s
            istore 4 /* fieldPosition */
            aconst_null
            aastore
        13: .line 175
      StackMap locals:
      StackMap stack:
            iload 4 /* fieldPosition */
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.size:()I
            if_icmplt 12
        14: .line 178
            aload 3 /* components */
            invokestatic org.apache.cassandra.db.marshal.TupleType.buildValue:([Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            areturn
        end local 4 // short fieldPosition
        end local 3 // java.nio.ByteBuffer[] components
        end local 2 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 1 // java.util.Iterator cells
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Lorg/apache/cassandra/db/marshal/UserType;
            0   15     1                cells  Ljava/util/Iterator<Lorg/apache/cassandra/db/rows/Cell;>;
            0   15     2      protocolVersion  Lorg/apache/cassandra/transport/ProtocolVersion;
            2   15     3           components  [Ljava/nio/ByteBuffer;
            3   15     4        fieldPosition  S
            5   10     5                 cell  Lorg/apache/cassandra/db/rows/Cell;
            6   10     6  fieldPositionOfCell  S
    Signature: (Ljava/util/Iterator<Lorg/apache/cassandra/db/rows/Cell;>;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/nio/ByteBuffer;
    MethodParameters:
                 Name  Flags
      cells            
      protocolVersion  

  public void validateCell(org.apache.cassandra.db.rows.Cell);
    descriptor: (Lorg/apache/cassandra/db/rows/Cell;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // org.apache.cassandra.db.rows.Cell cell
         0: .line 183
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.isMultiCell:Z
            ifeq 6
         1: .line 185
            aload 1 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.path:()Lorg/apache/cassandra/db/rows/CellPath;
            iconst_0
            invokevirtual org.apache.cassandra.db.rows.CellPath.get:(I)Ljava/nio/ByteBuffer;
            astore 2 /* path */
        start local 2 // java.nio.ByteBuffer path
         2: .line 186
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.nameComparator:()Lorg/apache/cassandra/db/marshal/ShortType;
            aload 2 /* path */
            invokevirtual org.apache.cassandra.db.marshal.ShortType.validate:(Ljava/nio/ByteBuffer;)V
         3: .line 187
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.nameComparator:()Lorg/apache/cassandra/db/marshal/ShortType;
            invokevirtual org.apache.cassandra.db.marshal.ShortType.getSerializer:()Lorg/apache/cassandra/serializers/TypeSerializer;
            aload 2 /* path */
            invokeinterface org.apache.cassandra.serializers.TypeSerializer.deserialize:(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
            checkcast java.lang.Short
            astore 3 /* fieldPosition */
        start local 3 // java.lang.Short fieldPosition
         4: .line 188
            aload 0 /* this */
            aload 3 /* fieldPosition */
            invokevirtual java.lang.Short.shortValue:()S
            invokevirtual org.apache.cassandra.db.marshal.UserType.fieldType:(I)Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 1 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.value:()Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.validate:(Ljava/nio/ByteBuffer;)V
        end local 3 // java.lang.Short fieldPosition
        end local 2 // java.nio.ByteBuffer path
         5: .line 189
            goto 7
         6: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.value:()Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.UserType.validate:(Ljava/nio/ByteBuffer;)V
         7: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.db.rows.Cell cell
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/apache/cassandra/db/marshal/UserType;
            0    8     1           cell  Lorg/apache/cassandra/db/rows/Cell;
            2    5     2           path  Ljava/nio/ByteBuffer;
            4    5     3  fieldPosition  Ljava/lang/Short;
    Exceptions:
      throws org.apache.cassandra.serializers.MarshalException
    MethodParameters:
      Name  Flags
      cell  

  public org.apache.cassandra.cql3.Term fromJSONObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/apache/cassandra/cql3/Term;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // java.lang.Object parsed
         0: .line 199
            aload 1 /* parsed */
            instanceof java.lang.String
            ifeq 2
         1: .line 200
            aload 1 /* parsed */
            checkcast java.lang.String
            invokestatic org.apache.cassandra.cql3.Json.decodeJson:(Ljava/lang/String;)Ljava/lang/Object;
            astore 1 /* parsed */
         2: .line 202
      StackMap locals:
      StackMap stack:
            aload 1 /* parsed */
            instanceof java.util.Map
            ifne 6
         3: .line 203
            new org.apache.cassandra.serializers.MarshalException
            dup
         4: .line 204
            ldc "Expected a map, but got a %s: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* parsed */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* parsed */
            aastore
         5: .line 203
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 206
      StackMap locals:
      StackMap stack:
            aload 1 /* parsed */
            checkcast java.util.Map
            astore 2 /* map */
        start local 2 // java.util.Map map
         7: .line 208
            aload 2 /* map */
            invokestatic org.apache.cassandra.cql3.Json.handleCaseSensitivity:(Ljava/util/Map;)V
         8: .line 210
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* terms */
        start local 3 // java.util.List terms
         9: .line 212
            aload 2 /* map */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            astore 4 /* keys */
        start local 4 // java.util.Set keys
        10: .line 213
            getstatic org.apache.cassandra.db.marshal.UserType.$assertionsDisabled:Z
            ifne 11
            aload 4 /* keys */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 11
            aload 4 /* keys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            instanceof java.lang.String
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 215
      StackMap locals: java.util.Map java.util.List java.util.Set
      StackMap stack:
            iconst_0
            istore 5 /* foundValues */
        start local 5 // int foundValues
        12: .line 216
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        13: goto 21
        14: .line 218
      StackMap locals: int int
      StackMap stack:
            aload 2 /* map */
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.stringFieldNames:Ljava/util/List;
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
        15: .line 219
            aload 7 /* value */
            ifnonnull 18
        16: .line 221
            aload 3 /* terms */
            getstatic org.apache.cassandra.cql3.Constants.NULL_VALUE:Lorg/apache/cassandra/cql3/Term$Terminal;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 222
            goto 20
        18: .line 225
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* terms */
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.marshal.AbstractType
            aload 7 /* value */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.fromJSONObject:(Ljava/lang/Object;)Lorg/apache/cassandra/cql3/Term;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 226
            iinc 5 /* foundValues */ 1
        end local 7 // java.lang.Object value
        20: .line 216
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 14
        end local 6 // int i
        22: .line 231
            iload 5 /* foundValues */
            aload 2 /* map */
            invokeinterface java.util.Map.size:()I
            if_icmpeq 30
        23: .line 233
            aload 4 /* keys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 29
      StackMap locals: org.apache.cassandra.db.marshal.UserType java.lang.Object java.util.Map java.util.List java.util.Set int top java.util.Iterator
      StackMap stack:
        24: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* fieldName */
        start local 6 // java.lang.Object fieldName
        25: .line 235
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.stringFieldNames:Ljava/util/List;
            aload 6 /* fieldName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 29
        26: .line 236
            new org.apache.cassandra.serializers.MarshalException
            dup
        27: .line 237
            ldc "Unknown field '%s' in value of user defined type %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* fieldName */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.getNameAsString:()Ljava/lang/String;
            aastore
        28: .line 236
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object fieldName
        29: .line 233
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        30: .line 241
      StackMap locals: org.apache.cassandra.db.marshal.UserType java.lang.Object java.util.Map java.util.List java.util.Set int
      StackMap stack:
            new org.apache.cassandra.cql3.UserTypes$DelayedValue
            dup
            aload 0 /* this */
            aload 3 /* terms */
            invokespecial org.apache.cassandra.cql3.UserTypes$DelayedValue.<init>:(Lorg/apache/cassandra/db/marshal/UserType;Ljava/util/List;)V
            areturn
        end local 5 // int foundValues
        end local 4 // java.util.Set keys
        end local 3 // java.util.List terms
        end local 2 // java.util.Map map
        end local 1 // java.lang.Object parsed
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   31     0         this  Lorg/apache/cassandra/db/marshal/UserType;
            0   31     1       parsed  Ljava/lang/Object;
            7   31     2          map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            9   31     3        terms  Ljava/util/List<Lorg/apache/cassandra/cql3/Term;>;
           10   31     4         keys  Ljava/util/Set;
           12   31     5  foundValues  I
           13   22     6            i  I
           15   20     7        value  Ljava/lang/Object;
           25   29     6    fieldName  Ljava/lang/Object;
    Exceptions:
      throws org.apache.cassandra.serializers.MarshalException
    MethodParameters:
        Name  Flags
      parsed  

  public java.lang.String toJSONString(java.nio.ByteBuffer, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
         0: .line 247
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual org.apache.cassandra.db.marshal.UserType.split:(Ljava/nio/ByteBuffer;)[Ljava/nio/ByteBuffer;
            astore 3 /* buffers */
        start local 3 // java.nio.ByteBuffer[] buffers
         1: .line 248
            new java.lang.StringBuilder
            dup
            ldc "{"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         2: .line 249
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 19
         4: .line 251
      StackMap locals: java.nio.ByteBuffer[] java.lang.StringBuilder int
      StackMap stack:
            iload 5 /* i */
            ifle 6
         5: .line 252
            aload 4 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.stringFieldNames:Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
         7: .line 255
            aload 6 /* name */
            aload 6 /* name */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 256
            new java.lang.StringBuilder
            dup
            ldc "\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* name */
         9: .line 258
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* sb */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 259
            aload 4 /* sb */
            aload 6 /* name */
            invokestatic org.apache.cassandra.cql3.Json.quoteAsJsonString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 260
            aload 4 /* sb */
            ldc "\": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 262
            iload 5 /* i */
            aload 3 /* buffers */
            arraylength
            if_icmplt 13
            aconst_null
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3 /* buffers */
            iload 5 /* i */
            aaload
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
        14: astore 7 /* valueBuffer */
        start local 7 // java.nio.ByteBuffer valueBuffer
        15: .line 263
            aload 7 /* valueBuffer */
            ifnonnull 17
        16: .line 264
            aload 4 /* sb */
            ldc "null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 18
        17: .line 266
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 4 /* sb */
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.marshal.AbstractType
            aload 7 /* valueBuffer */
            aload 2 /* protocolVersion */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.toJSONString:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // java.nio.ByteBuffer valueBuffer
        end local 6 // java.lang.String name
        18: .line 249
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 5 // int i
        20: .line 268
            aload 4 /* sb */
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder sb
        end local 3 // java.nio.ByteBuffer[] buffers
        end local 2 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Lorg/apache/cassandra/db/marshal/UserType;
            0   21     1           buffer  Ljava/nio/ByteBuffer;
            0   21     2  protocolVersion  Lorg/apache/cassandra/transport/ProtocolVersion;
            1   21     3          buffers  [Ljava/nio/ByteBuffer;
            2   21     4               sb  Ljava/lang/StringBuilder;
            3   20     5                i  I
            7   18     6             name  Ljava/lang/String;
           15   18     7      valueBuffer  Ljava/nio/ByteBuffer;
    MethodParameters:
                 Name  Flags
      buffer           
      protocolVersion  

  public org.apache.cassandra.db.marshal.UserType freeze();
    descriptor: ()Lorg/apache/cassandra/db/marshal/UserType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 274
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.isMultiCell:Z
            ifeq 2
         1: .line 275
            new org.apache.cassandra.db.marshal.UserType
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.name:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.fieldNames:Ljava/util/List;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.fieldTypes:()Ljava/util/List;
            iconst_0
            invokespecial org.apache.cassandra.db.marshal.UserType.<init>:(Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/util/List;Ljava/util/List;Z)V
            areturn
         2: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/db/marshal/UserType;

  public org.apache.cassandra.db.marshal.AbstractType<?> freezeNestedMulticellTypes();
    descriptor: ()Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 283
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.isMultiCell:()Z
            ifne 2
         1: .line 284
            aload 0 /* this */
            areturn
         2: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.fieldTypes:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         3: .line 288
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/apache/cassandra/db/marshal/UserType.lambda$0(Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/db/marshal/AbstractType; (6)
                  (Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/db/marshal/AbstractType;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 289
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         5: .line 287
            astore 1 /* newTypes */
        start local 1 // java.util.List newTypes
         6: .line 291
            new org.apache.cassandra.db.marshal.UserType
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.name:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.fieldNames:Ljava/util/List;
            aload 1 /* newTypes */
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.isMultiCell:Z
            invokespecial org.apache.cassandra.db.marshal.UserType.<init>:(Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/util/List;Ljava/util/List;Z)V
            areturn
        end local 1 // java.util.List newTypes
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/apache/cassandra/db/marshal/UserType;
            6    7     1  newTypes  Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
    Signature: ()Lorg/apache/cassandra/db/marshal/AbstractType<*>;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 297
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.name:Ljava/nio/ByteBuffer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.fieldNames:Ljava/util/List;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.isMultiCell:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokestatic com.google.common.base.Objects.hashCode:([Ljava/lang/Object;)I
            ireturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;

  public boolean isValueCompatibleWith(org.apache.cassandra.db.marshal.AbstractType<?>);
    descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // org.apache.cassandra.db.marshal.AbstractType previous
         0: .line 303
            aload 0 /* this */
            aload 1 /* previous */
            if_acmpne 2
         1: .line 304
            iconst_1
            ireturn
         2: .line 306
      StackMap locals:
      StackMap stack:
            aload 1 /* previous */
            instanceof org.apache.cassandra.db.marshal.UserType
            ifne 4
         3: .line 307
            iconst_0
            ireturn
         4: .line 309
      StackMap locals:
      StackMap stack:
            aload 1 /* previous */
            checkcast org.apache.cassandra.db.marshal.UserType
            astore 2 /* other */
        start local 2 // org.apache.cassandra.db.marshal.UserType other
         5: .line 310
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.isMultiCell:Z
            aload 2 /* other */
            invokevirtual org.apache.cassandra.db.marshal.UserType.isMultiCell:()Z
            if_icmpeq 7
         6: .line 311
            iconst_0
            ireturn
         7: .line 313
      StackMap locals: org.apache.cassandra.db.marshal.UserType
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            aload 2 /* other */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 314
            iconst_0
            ireturn
         9: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* thisTypeIter */
        start local 3 // java.util.Iterator thisTypeIter
        10: .line 317
            aload 2 /* other */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* previousTypeIter */
        start local 4 // java.util.Iterator previousTypeIter
        11: .line 318
            goto 14
        12: .line 320
      StackMap locals: java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 3 /* thisTypeIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.marshal.AbstractType
            aload 4 /* previousTypeIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.marshal.AbstractType
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isCompatibleWith:(Lorg/apache/cassandra/db/marshal/AbstractType;)Z
            ifne 14
        13: .line 321
            iconst_0
            ireturn
        14: .line 318
      StackMap locals:
      StackMap stack:
            aload 3 /* thisTypeIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 15
            aload 4 /* previousTypeIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 325
      StackMap locals:
      StackMap stack:
            aload 4 /* previousTypeIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 16
            iconst_0
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_1
      StackMap locals:
      StackMap stack: int
        17: ireturn
        end local 4 // java.util.Iterator previousTypeIter
        end local 3 // java.util.Iterator thisTypeIter
        end local 2 // org.apache.cassandra.db.marshal.UserType other
        end local 1 // org.apache.cassandra.db.marshal.AbstractType previous
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lorg/apache/cassandra/db/marshal/UserType;
            0   18     1          previous  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
            5   18     2             other  Lorg/apache/cassandra/db/marshal/UserType;
           10   18     3      thisTypeIter  Ljava/util/Iterator<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
           11   18     4  previousTypeIter  Ljava/util/Iterator<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
    Signature: (Lorg/apache/cassandra/db/marshal/AbstractType<*>;)Z
    MethodParameters:
          Name  Flags
      previous  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // java.lang.Object o
         0: .line 331
            aload 1 /* o */
            instanceof org.apache.cassandra.db.marshal.UserType
            ifeq 1
            aload 0 /* this */
            aload 1 /* o */
            iconst_0
            invokevirtual org.apache.cassandra.db.marshal.UserType.equals:(Ljava/lang/Object;Z)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/marshal/UserType;
            0    2     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public boolean equals(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // java.lang.Object o
        start local 2 // boolean ignoreFreezing
         0: .line 337
            aload 1 /* o */
            instanceof org.apache.cassandra.db.marshal.UserType
            ifne 2
         1: .line 338
            iconst_0
            ireturn
         2: .line 340
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.apache.cassandra.db.marshal.UserType
            astore 3 /* that */
        start local 3 // org.apache.cassandra.db.marshal.UserType that
         3: .line 342
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            aload 3 /* that */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.name:Ljava/nio/ByteBuffer;
            aload 3 /* that */
            getfield org.apache.cassandra.db.marshal.UserType.name:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.fieldNames:Ljava/util/List;
            aload 3 /* that */
            getfield org.apache.cassandra.db.marshal.UserType.fieldNames:Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 343
      StackMap locals: org.apache.cassandra.db.marshal.UserType
      StackMap stack:
            iconst_0
            ireturn
         5: .line 345
      StackMap locals:
      StackMap stack:
            iload 2 /* ignoreFreezing */
            ifne 7
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.isMultiCell:Z
            aload 3 /* that */
            getfield org.apache.cassandra.db.marshal.UserType.isMultiCell:Z
            if_icmpeq 7
         6: .line 346
            iconst_0
            ireturn
         7: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 3 /* that */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpeq 9
         8: .line 349
            iconst_0
            ireturn
         9: .line 351
      StackMap locals:
      StackMap stack:
            aload 3 /* that */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* otherTypeIter */
        start local 4 // java.util.Iterator otherTypeIter
        10: .line 352
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 14
      StackMap locals: org.apache.cassandra.db.marshal.UserType java.lang.Object int org.apache.cassandra.db.marshal.UserType java.util.Iterator top java.util.Iterator
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.marshal.AbstractType
            astore 5 /* type */
        start local 5 // org.apache.cassandra.db.marshal.AbstractType type
        12: .line 354
            aload 5 /* type */
            aload 4 /* otherTypeIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            iload 2 /* ignoreFreezing */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.equals:(Ljava/lang/Object;Z)Z
            ifne 14
        13: .line 355
            iconst_0
            ireturn
        end local 5 // org.apache.cassandra.db.marshal.AbstractType type
        14: .line 352
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        15: .line 358
            iconst_1
            ireturn
        end local 4 // java.util.Iterator otherTypeIter
        end local 3 // org.apache.cassandra.db.marshal.UserType that
        end local 2 // boolean ignoreFreezing
        end local 1 // java.lang.Object o
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lorg/apache/cassandra/db/marshal/UserType;
            0   16     1               o  Ljava/lang/Object;
            0   16     2  ignoreFreezing  Z
            3   16     3            that  Lorg/apache/cassandra/db/marshal/UserType;
           10   16     4   otherTypeIter  Ljava/util/Iterator<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
           12   14     5            type  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
    MethodParameters:
                Name  Flags
      o               
      ignoreFreezing  

  public org.apache.cassandra.cql3.CQL3Type asCQL3Type();
    descriptor: ()Lorg/apache/cassandra/cql3/CQL3Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 364
            aload 0 /* this */
            invokestatic org.apache.cassandra.cql3.CQL3Type$UserDefined.create:(Lorg/apache/cassandra/db/marshal/UserType;)Lorg/apache/cassandra/cql3/CQL3Type$UserDefined;
            areturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;

  public boolean referencesUserType(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // java.lang.String userTypeName
         0: .line 370
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.getNameAsString:()Ljava/lang/String;
            aload 1 /* userTypeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 371
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.fieldTypes:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 1 /* userTypeName */
            invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/apache/cassandra/db/marshal/UserType.lambda$1(Ljava/lang/String;Lorg/apache/cassandra/db/marshal/AbstractType;)Z (6)
                  (Lorg/apache/cassandra/db/marshal/AbstractType;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            ifne 3
         2: .line 370
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // java.lang.String userTypeName
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/cassandra/db/marshal/UserType;
            0    4     1  userTypeName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      userTypeName  

  public boolean referencesDuration();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 377
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.fieldTypes:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/apache/cassandra/db/marshal/UserType.lambda$2(Lorg/apache/cassandra/db/marshal/AbstractType;)Z (6)
                  (Lorg/apache/cassandra/db/marshal/AbstractType;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            ireturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;

  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.UserType this
         0: .line 383
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.cassandra.db.marshal.UserType.toString:(Z)Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;

  public boolean isTuple();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 389
            iconst_0
            ireturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;

  public java.lang.String toString(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType this
        start local 1 // boolean ignoreFreezing
         0: .line 395
            iload 1 /* ignoreFreezing */
            ifne 1
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.marshal.UserType.isMultiCell:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* includeFrozenType */
        start local 2 // boolean includeFrozenType
         3: .line 397
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         4: .line 398
            iload 2 /* includeFrozenType */
            ifeq 6
         5: .line 399
            aload 3 /* sb */
            ldc Lorg/apache/cassandra/db/marshal/FrozenType;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 400
      StackMap locals: int java.lang.StringBuilder
      StackMap stack:
            aload 3 /* sb */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 401
            aload 3 /* sb */
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.name:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.fieldNames:Ljava/util/List;
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.types:Ljava/util/List;
            iload 1 /* ignoreFreezing */
            ifne 8
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.isMultiCell:Z
            ifeq 8
            iconst_0
            goto 9
      StackMap locals: org.apache.cassandra.db.marshal.UserType int int java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder java.lang.String java.nio.ByteBuffer java.util.List java.util.List
         8: iconst_1
      StackMap locals: org.apache.cassandra.db.marshal.UserType int int java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder java.lang.String java.nio.ByteBuffer java.util.List java.util.List int
         9: invokestatic org.apache.cassandra.db.marshal.TypeParser.stringifyUserTypeParameters:(Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/util/List;Ljava/util/List;Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 402
            iload 2 /* includeFrozenType */
            ifeq 12
        11: .line 403
            aload 3 /* sb */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 404
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // boolean includeFrozenType
        end local 1 // boolean ignoreFreezing
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lorg/apache/cassandra/db/marshal/UserType;
            0   13     1     ignoreFreezing  Z
            3   13     2  includeFrozenType  Z
            4   13     3                 sb  Ljava/lang/StringBuilder;
    MethodParameters:
                Name  Flags
      ignoreFreezing  

  public org.apache.cassandra.serializers.TypeSerializer<java.nio.ByteBuffer> getSerializer();
    descriptor: ()Lorg/apache/cassandra/serializers/TypeSerializer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType this
         0: .line 410
            aload 0 /* this */
            getfield org.apache.cassandra.db.marshal.UserType.serializer:Lorg/apache/cassandra/serializers/UserTypeSerializer;
            areturn
        end local 0 // org.apache.cassandra.db.marshal.UserType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/marshal/UserType;
    Signature: ()Lorg/apache/cassandra/serializers/TypeSerializer<Ljava/nio/ByteBuffer;>;

  public org.apache.cassandra.db.marshal.AbstractType freeze();
    descriptor: ()Lorg/apache/cassandra/db/marshal/AbstractType;
    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.UserType.freeze:()Lorg/apache/cassandra/db/marshal/UserType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.apache.cassandra.db.marshal.AbstractType lambda$0(org.apache.cassandra.db.marshal.AbstractType);
    descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.AbstractType subtype
         0: .line 288
            aload 0 /* subtype */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isFreezable:()Z
            ifeq 1
            aload 0 /* subtype */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isMultiCell:()Z
            ifeq 1
            aload 0 /* subtype */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.freeze:()Lorg/apache/cassandra/db/marshal/AbstractType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* subtype */
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.marshal.AbstractType
         2: areturn
        end local 0 // org.apache.cassandra.db.marshal.AbstractType subtype
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  subtype  Lorg/apache/cassandra/db/marshal/AbstractType<*>;

  private static boolean lambda$1(java.lang.String, org.apache.cassandra.db.marshal.AbstractType);
    descriptor: (Ljava/lang/String;Lorg/apache/cassandra/db/marshal/AbstractType;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.apache.cassandra.db.marshal.AbstractType f
         0: .line 371
            aload 1 /* f */
            aload 0
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.referencesUserType:(Ljava/lang/String;)Z
            ireturn
        end local 1 // org.apache.cassandra.db.marshal.AbstractType f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     f  Lorg/apache/cassandra/db/marshal/AbstractType<*>;

  private static boolean lambda$2(org.apache.cassandra.db.marshal.AbstractType);
    descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.AbstractType f
         0: .line 377
            aload 0 /* f */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.referencesDuration:()Z
            ireturn
        end local 0 // org.apache.cassandra.db.marshal.AbstractType f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
}
SourceFile: "UserType.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public UserDefined = org.apache.cassandra.cql3.CQL3Type$UserDefined of org.apache.cassandra.cql3.CQL3Type
  public DelayedValue = org.apache.cassandra.cql3.UserTypes$DelayedValue of org.apache.cassandra.cql3.UserTypes