public final class org.apache.cassandra.cql3.functions.UDHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.cassandra.cql3.functions.UDHelper
  super_class: java.lang.Object
{
  private static final java.lang.invoke.MethodHandle methodParseOne;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.datastax.driver.core.CodecRegistry codecRegistry;
    descriptor: Lcom/datastax/driver/core/CodecRegistry;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=2, args_size=0
         0: .line 48
            ldc "com.datastax.driver.core.DataTypeClassNameParser"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 0 /* cls */
        start local 0 // java.lang.Class cls
         1: .line 49
            aload 0 /* cls */
            ldc "parseOne"
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Lcom/datastax/driver/core/ProtocolVersion;
            aastore
            dup
            iconst_2
            ldc Lcom/datastax/driver/core/CodecRegistry;
            aastore
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 1 /* m */
        start local 1 // java.lang.reflect.Method m
         2: .line 50
            aload 1 /* m */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
         3: .line 51
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            aload 1 /* m */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflect:(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
            putstatic org.apache.cassandra.cql3.functions.UDHelper.methodParseOne:Ljava/lang/invoke/MethodHandle;
         4: .line 52
            new com.datastax.driver.core.CodecRegistry
            dup
            invokespecial com.datastax.driver.core.CodecRegistry.<init>:()V
            putstatic org.apache.cassandra.cql3.functions.UDHelper.codecRegistry:Lcom/datastax/driver/core/CodecRegistry;
        end local 1 // java.lang.reflect.Method m
        end local 0 // java.lang.Class cls
         5: .line 53
            goto 8
         6: .line 54
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 0 /* e */
        start local 0 // java.lang.Exception e
         7: .line 56
            new java.lang.RuntimeException
            dup
            aload 0 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
         8: .line 58
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    5     0   cls  Ljava/lang/Class<*>;
            2    5     1     m  Ljava/lang/reflect/Method;
            7    8     0     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.Exception

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.functions.UDHelper this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.cql3.functions.UDHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cql3/functions/UDHelper;

  static com.datastax.driver.core.TypeCodec<java.lang.Object>[] codecsFor(com.datastax.driver.core.DataType[]);
    descriptor: ([Lcom/datastax/driver/core/DataType;)[Lcom/datastax/driver/core/TypeCodec;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.datastax.driver.core.DataType[] dataType
         0: .line 62
            aload 0 /* dataType */
            arraylength
            anewarray com.datastax.driver.core.TypeCodec
            astore 1 /* codecs */
        start local 1 // com.datastax.driver.core.TypeCodec[] codecs
         1: .line 63
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 64
      StackMap locals: com.datastax.driver.core.TypeCodec[] int
      StackMap stack:
            aload 1 /* codecs */
            iload 2 /* i */
            aload 0 /* dataType */
            iload 2 /* i */
            aaload
            invokestatic org.apache.cassandra.cql3.functions.UDHelper.codecFor:(Lcom/datastax/driver/core/DataType;)Lcom/datastax/driver/core/TypeCodec;
            aastore
         4: .line 63
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* dataType */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 65
            aload 1 /* codecs */
            areturn
        end local 1 // com.datastax.driver.core.TypeCodec[] codecs
        end local 0 // com.datastax.driver.core.DataType[] dataType
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  dataType  [Lcom/datastax/driver/core/DataType;
            1    7     1    codecs  [Lcom/datastax/driver/core/TypeCodec;
            2    6     2         i  I
    Signature: ([Lcom/datastax/driver/core/DataType;)[Lcom/datastax/driver/core/TypeCodec<Ljava/lang/Object;>;
    MethodParameters:
          Name  Flags
      dataType  

  public static com.datastax.driver.core.TypeCodec<java.lang.Object> codecFor(com.datastax.driver.core.DataType);
    descriptor: (Lcom/datastax/driver/core/DataType;)Lcom/datastax/driver/core/TypeCodec;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.datastax.driver.core.DataType dataType
         0: .line 70
            getstatic org.apache.cassandra.cql3.functions.UDHelper.codecRegistry:Lcom/datastax/driver/core/CodecRegistry;
            aload 0 /* dataType */
            invokevirtual com.datastax.driver.core.CodecRegistry.codecFor:(Lcom/datastax/driver/core/DataType;)Lcom/datastax/driver/core/TypeCodec;
            areturn
        end local 0 // com.datastax.driver.core.DataType dataType
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  dataType  Lcom/datastax/driver/core/DataType;
    Signature: (Lcom/datastax/driver/core/DataType;)Lcom/datastax/driver/core/TypeCodec<Ljava/lang/Object;>;
    MethodParameters:
          Name  Flags
      dataType  

  public static com.google.common.reflect.TypeToken<?>[] typeTokens(com.datastax.driver.core.TypeCodec<java.lang.Object>[], boolean);
    descriptor: ([Lcom/datastax/driver/core/TypeCodec;Z)[Lcom/google/common/reflect/TypeToken;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.datastax.driver.core.TypeCodec[] dataTypes
        start local 1 // boolean calledOnNullInput
         0: .line 82
            aload 0 /* dataTypes */
            arraylength
            anewarray com.google.common.reflect.TypeToken
            astore 2 /* paramTypes */
        start local 2 // com.google.common.reflect.TypeToken[] paramTypes
         1: .line 83
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 22
         3: .line 85
      StackMap locals: com.google.common.reflect.TypeToken[] int
      StackMap stack:
            aload 0 /* dataTypes */
            iload 3 /* i */
            aaload
            invokevirtual com.datastax.driver.core.TypeCodec.getJavaType:()Lcom/google/common/reflect/TypeToken;
            astore 4 /* typeToken */
        start local 4 // com.google.common.reflect.TypeToken typeToken
         4: .line 86
            iload 1 /* calledOnNullInput */
            ifne 20
         5: .line 89
            aload 4 /* typeToken */
            invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
            astore 5 /* clazz */
        start local 5 // java.lang.Class clazz
         6: .line 90
            aload 5 /* clazz */
            ldc Ljava/lang/Integer;
            if_acmpne 8
         7: .line 91
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
            astore 4 /* typeToken */
            goto 20
         8: .line 92
      StackMap locals: com.google.common.reflect.TypeToken java.lang.Class
      StackMap stack:
            aload 5 /* clazz */
            ldc Ljava/lang/Long;
            if_acmpne 10
         9: .line 93
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
            astore 4 /* typeToken */
            goto 20
        10: .line 94
      StackMap locals:
      StackMap stack:
            aload 5 /* clazz */
            ldc Ljava/lang/Byte;
            if_acmpne 12
        11: .line 95
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
            astore 4 /* typeToken */
            goto 20
        12: .line 96
      StackMap locals:
      StackMap stack:
            aload 5 /* clazz */
            ldc Ljava/lang/Short;
            if_acmpne 14
        13: .line 97
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
            astore 4 /* typeToken */
            goto 20
        14: .line 98
      StackMap locals:
      StackMap stack:
            aload 5 /* clazz */
            ldc Ljava/lang/Float;
            if_acmpne 16
        15: .line 99
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
            astore 4 /* typeToken */
            goto 20
        16: .line 100
      StackMap locals:
      StackMap stack:
            aload 5 /* clazz */
            ldc Ljava/lang/Double;
            if_acmpne 18
        17: .line 101
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
            astore 4 /* typeToken */
            goto 20
        18: .line 102
      StackMap locals:
      StackMap stack:
            aload 5 /* clazz */
            ldc Ljava/lang/Boolean;
            if_acmpne 20
        19: .line 103
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
            astore 4 /* typeToken */
        end local 5 // java.lang.Class clazz
        20: .line 105
      StackMap locals:
      StackMap stack:
            aload 2 /* paramTypes */
            iload 3 /* i */
            aload 4 /* typeToken */
            aastore
        end local 4 // com.google.common.reflect.TypeToken typeToken
        21: .line 83
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 3 /* i */
            aload 2 /* paramTypes */
            arraylength
            if_icmplt 3
        end local 3 // int i
        23: .line 107
            aload 2 /* paramTypes */
            areturn
        end local 2 // com.google.common.reflect.TypeToken[] paramTypes
        end local 1 // boolean calledOnNullInput
        end local 0 // com.datastax.driver.core.TypeCodec[] dataTypes
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   24     0          dataTypes  [Lcom/datastax/driver/core/TypeCodec;
            0   24     1  calledOnNullInput  Z
            1   24     2         paramTypes  [Lcom/google/common/reflect/TypeToken;
            2   23     3                  i  I
            4   21     4          typeToken  Lcom/google/common/reflect/TypeToken<*>;
            6   20     5              clazz  Ljava/lang/Class<*>;
    Signature: ([Lcom/datastax/driver/core/TypeCodec<Ljava/lang/Object;>;Z)[Lcom/google/common/reflect/TypeToken<*>;
    MethodParameters:
                   Name  Flags
      dataTypes          
      calledOnNullInput  

  public static com.datastax.driver.core.DataType[] driverTypes(java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>>);
    descriptor: (Ljava/util/List;)[Lcom/datastax/driver/core/DataType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.util.List abstractTypes
         0: .line 119
            aload 0 /* abstractTypes */
            invokeinterface java.util.List.size:()I
            anewarray com.datastax.driver.core.DataType
            astore 1 /* argDataTypes */
        start local 1 // com.datastax.driver.core.DataType[] argDataTypes
         1: .line 120
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 121
      StackMap locals: com.datastax.driver.core.DataType[] int
      StackMap stack:
            aload 1 /* argDataTypes */
            iload 2 /* i */
            aload 0 /* abstractTypes */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.marshal.AbstractType
            invokestatic org.apache.cassandra.cql3.functions.UDHelper.driverType:(Lorg/apache/cassandra/db/marshal/AbstractType;)Lcom/datastax/driver/core/DataType;
            aastore
         4: .line 120
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* argDataTypes */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 122
            aload 1 /* argDataTypes */
            areturn
        end local 1 // com.datastax.driver.core.DataType[] argDataTypes
        end local 0 // java.util.List abstractTypes
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0  abstractTypes  Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
            1    7     1   argDataTypes  [Lcom/datastax/driver/core/DataType;
            2    6     2              i  I
    Signature: (Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;)[Lcom/datastax/driver/core/DataType;
    MethodParameters:
               Name  Flags
      abstractTypes  

  public static com.datastax.driver.core.DataType driverType(org.apache.cassandra.db.marshal.AbstractType);
    descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;)Lcom/datastax/driver/core/DataType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.AbstractType abstractType
         0: .line 130
            aload 0 /* abstractType */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.asCQL3Type:()Lorg/apache/cassandra/cql3/CQL3Type;
            astore 1 /* cqlType */
        start local 1 // org.apache.cassandra.cql3.CQL3Type cqlType
         1: .line 131
            aload 1 /* cqlType */
            invokeinterface org.apache.cassandra.cql3.CQL3Type.getType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.toString:()Ljava/lang/String;
            astore 2 /* abstractTypeDef */
        start local 2 // java.lang.String abstractTypeDef
         2: .line 132
            aload 2 /* abstractTypeDef */
            invokestatic org.apache.cassandra.cql3.functions.UDHelper.driverTypeFromAbstractType:(Ljava/lang/String;)Lcom/datastax/driver/core/DataType;
            areturn
        end local 2 // java.lang.String abstractTypeDef
        end local 1 // org.apache.cassandra.cql3.CQL3Type cqlType
        end local 0 // org.apache.cassandra.db.marshal.AbstractType abstractType
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0     abstractType  Lorg/apache/cassandra/db/marshal/AbstractType;
            1    3     1          cqlType  Lorg/apache/cassandra/cql3/CQL3Type;
            2    3     2  abstractTypeDef  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      abstractType  

  public static com.datastax.driver.core.DataType driverTypeFromAbstractType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/datastax/driver/core/DataType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String abstractTypeDef
         0: .line 139
            getstatic org.apache.cassandra.cql3.functions.UDHelper.methodParseOne:Ljava/lang/invoke/MethodHandle;
            aload 0 /* abstractTypeDef */
         1: .line 140
            getstatic org.apache.cassandra.transport.ProtocolVersion.CURRENT:Lorg/apache/cassandra/transport/ProtocolVersion;
            invokevirtual org.apache.cassandra.transport.ProtocolVersion.asInt:()I
            invokestatic com.datastax.driver.core.ProtocolVersion.fromInt:(I)Lcom/datastax/driver/core/ProtocolVersion;
         2: .line 141
            getstatic org.apache.cassandra.cql3.functions.UDHelper.codecRegistry:Lcom/datastax/driver/core/CodecRegistry;
         3: .line 139
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/String;Lcom/datastax/driver/core/ProtocolVersion;Lcom/datastax/driver/core/CodecRegistry;)Lcom/datastax/driver/core/DataType;
         4: areturn
         5: .line 143
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* e */
        start local 1 // java.lang.Throwable e
         6: .line 146
            aload 1 /* e */
            athrow
        end local 1 // java.lang.Throwable e
         7: .line 148
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* e */
        start local 1 // java.lang.Throwable e
         8: .line 150
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot parse driver type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* abstractTypeDef */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Throwable e
        end local 0 // java.lang.String abstractTypeDef
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0  abstractTypeDef  Ljava/lang/String;
            6    7     1                e  Ljava/lang/Throwable;
            8    9     1                e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.RuntimeException
           0     4       5  Class java.lang.Error
           0     4       7  Class java.lang.Throwable
    MethodParameters:
                 Name  Flags
      abstractTypeDef  

  public static  deserialize(com.datastax.driver.core.TypeCodec<?>, org.apache.cassandra.transport.ProtocolVersion, java.nio.ByteBuffer);
    descriptor: (Lcom/datastax/driver/core/TypeCodec;Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/nio/ByteBuffer;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.datastax.driver.core.TypeCodec codec
        start local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        start local 2 // java.nio.ByteBuffer value
         0: .line 156
            aload 0 /* codec */
            aload 2 /* value */
            aload 1 /* protocolVersion */
            invokevirtual org.apache.cassandra.transport.ProtocolVersion.asInt:()I
            invokestatic com.datastax.driver.core.ProtocolVersion.fromInt:(I)Lcom/datastax/driver/core/ProtocolVersion;
            invokevirtual com.datastax.driver.core.TypeCodec.deserialize:(Ljava/nio/ByteBuffer;Lcom/datastax/driver/core/ProtocolVersion;)Ljava/lang/Object;
            areturn
        end local 2 // java.nio.ByteBuffer value
        end local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 0 // com.datastax.driver.core.TypeCodec codec
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0            codec  Lcom/datastax/driver/core/TypeCodec<*>;
            0    1     1  protocolVersion  Lorg/apache/cassandra/transport/ProtocolVersion;
            0    1     2            value  Ljava/nio/ByteBuffer;
    Signature: (Lcom/datastax/driver/core/TypeCodec<*>;Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/nio/ByteBuffer;)Ljava/lang/Object;
    MethodParameters:
                 Name  Flags
      codec            
      protocolVersion  
      value            

  public static java.nio.ByteBuffer serialize(com.datastax.driver.core.TypeCodec<?>, org.apache.cassandra.transport.ProtocolVersion, );
    descriptor: (Lcom/datastax/driver/core/TypeCodec;Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/lang/Object;)Ljava/nio/ByteBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.datastax.driver.core.TypeCodec codec
        start local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        start local 2 // java.lang.Object value
         0: .line 161
            aload 0 /* codec */
            invokevirtual com.datastax.driver.core.TypeCodec.getJavaType:()Lcom/google/common/reflect/TypeToken;
            invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
            aload 2 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 2
         1: .line 162
            new com.datastax.driver.core.exceptions.InvalidTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid value for CQL type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* codec */
            invokevirtual com.datastax.driver.core.TypeCodec.getCqlType:()Lcom/datastax/driver/core/DataType;
            invokevirtual com.datastax.driver.core.DataType.getName:()Lcom/datastax/driver/core/DataType$Name;
            invokevirtual com.datastax.driver.core.DataType$Name.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.datastax.driver.core.exceptions.InvalidTypeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* codec */
            aload 2 /* value */
            aload 1 /* protocolVersion */
            invokevirtual org.apache.cassandra.transport.ProtocolVersion.asInt:()I
            invokestatic com.datastax.driver.core.ProtocolVersion.fromInt:(I)Lcom/datastax/driver/core/ProtocolVersion;
            invokevirtual com.datastax.driver.core.TypeCodec.serialize:(Ljava/lang/Object;Lcom/datastax/driver/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
            areturn
        end local 2 // java.lang.Object value
        end local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 0 // com.datastax.driver.core.TypeCodec codec
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0            codec  Lcom/datastax/driver/core/TypeCodec<*>;
            0    3     1  protocolVersion  Lorg/apache/cassandra/transport/ProtocolVersion;
            0    3     2            value  Ljava/lang/Object;
    Signature: (Lcom/datastax/driver/core/TypeCodec<*>;Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/lang/Object;)Ljava/nio/ByteBuffer;
    MethodParameters:
                 Name  Flags
      codec            
      protocolVersion  
      value            

  public static java.lang.Class<?> asJavaClass(com.datastax.driver.core.TypeCodec<?>);
    descriptor: (Lcom/datastax/driver/core/TypeCodec;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.driver.core.TypeCodec codec
         0: .line 169
            aload 0 /* codec */
            invokevirtual com.datastax.driver.core.TypeCodec.getJavaType:()Lcom/google/common/reflect/TypeToken;
            invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
            areturn
        end local 0 // com.datastax.driver.core.TypeCodec codec
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  codec  Lcom/datastax/driver/core/TypeCodec<*>;
    Signature: (Lcom/datastax/driver/core/TypeCodec<*>;)Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      codec  

  public static boolean isNullOrEmpty(org.apache.cassandra.db.marshal.AbstractType<?>, java.nio.ByteBuffer);
    descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;Ljava/nio/ByteBuffer;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.AbstractType type
        start local 1 // java.nio.ByteBuffer bb
         0: .line 174
            aload 1 /* bb */
            ifnull 3
         1: .line 175
            aload 1 /* bb */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifne 2
            aload 0 /* type */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isEmptyValueMeaningless:()Z
            ifne 3
         2: .line 174
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // java.nio.ByteBuffer bb
        end local 0 // org.apache.cassandra.db.marshal.AbstractType type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  type  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
            0    4     1    bb  Ljava/nio/ByteBuffer;
    Signature: (Lorg/apache/cassandra/db/marshal/AbstractType<*>;Ljava/nio/ByteBuffer;)Z
    MethodParameters:
      Name  Flags
      type  
      bb    
}
SourceFile: "UDHelper.java"
InnerClasses:
  public Name = com.datastax.driver.core.DataType$Name of com.datastax.driver.core.DataType
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles