public class com.datastax.oss.driver.api.core.type.reflect.GenericType<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.datastax.oss.driver.api.core.type.reflect.GenericType
  super_class: java.lang.Object
{
  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.lang.Boolean> BOOLEAN;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/lang/Boolean;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.lang.Byte> BYTE;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/lang/Byte;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.lang.Double> DOUBLE;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/lang/Double;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.lang.Float> FLOAT;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/lang/Float;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.lang.Integer> INTEGER;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/lang/Integer;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.lang.Long> LONG;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/lang/Long;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.lang.Short> SHORT;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/lang/Short;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.time.Instant> INSTANT;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/time/Instant;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.time.ZonedDateTime> ZONED_DATE_TIME;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/time/ZonedDateTime;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.time.LocalDate> LOCAL_DATE;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/time/LocalDate;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.time.LocalTime> LOCAL_TIME;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/time/LocalTime;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.nio.ByteBuffer> BYTE_BUFFER;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/nio/ByteBuffer;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.lang.String> STRING;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/lang/String;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.math.BigInteger> BIG_INTEGER;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/math/BigInteger;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.math.BigDecimal> BIG_DECIMAL;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/math/BigDecimal;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.util.UUID> UUID;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/util/UUID;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.net.InetAddress> INET_ADDRESS;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/net/InetAddress;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<com.datastax.oss.driver.api.core.data.CqlDuration> CQL_DURATION;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Lcom/datastax/oss/driver/api/core/data/CqlDuration;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<com.datastax.oss.driver.api.core.data.TupleValue> TUPLE_VALUE;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Lcom/datastax/oss/driver/api/core/data/TupleValue;>;

  public static final com.datastax.oss.driver.api.core.type.reflect.GenericType<com.datastax.oss.driver.api.core.data.UdtValue> UDT_VALUE;
    descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Lcom/datastax/oss/driver/api/core/data/UdtValue;>;

  private final com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken<T> token;
    descriptor: Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<TT;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 86
            ldc Ljava/lang/Boolean;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.BOOLEAN:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
         1: .line 87
            ldc Ljava/lang/Byte;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.BYTE:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
         2: .line 88
            ldc Ljava/lang/Double;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.DOUBLE:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
         3: .line 89
            ldc Ljava/lang/Float;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.FLOAT:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
         4: .line 90
            ldc Ljava/lang/Integer;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.INTEGER:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
         5: .line 91
            ldc Ljava/lang/Long;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.LONG:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
         6: .line 92
            ldc Ljava/lang/Short;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.SHORT:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
         7: .line 93
            ldc Ljava/time/Instant;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.INSTANT:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
         8: .line 94
            ldc Ljava/time/ZonedDateTime;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.ZONED_DATE_TIME:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
         9: .line 95
            ldc Ljava/time/LocalDate;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.LOCAL_DATE:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
        10: .line 96
            ldc Ljava/time/LocalTime;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.LOCAL_TIME:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
        11: .line 97
            ldc Ljava/nio/ByteBuffer;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.BYTE_BUFFER:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
        12: .line 98
            ldc Ljava/lang/String;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.STRING:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
        13: .line 99
            ldc Ljava/math/BigInteger;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.BIG_INTEGER:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
        14: .line 100
            ldc Ljava/math/BigDecimal;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.BIG_DECIMAL:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
        15: .line 101
            ldc Ljava/util/UUID;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.UUID:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
        16: .line 102
            ldc Ljava/net/InetAddress;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.INET_ADDRESS:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
        17: .line 103
            ldc Lcom/datastax/oss/driver/api/core/data/CqlDuration;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.CQL_DURATION:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
        18: .line 104
            ldc Lcom/datastax/oss/driver/api/core/data/TupleValue;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.TUPLE_VALUE:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
        19: .line 105
            ldc Lcom/datastax/oss/driver/api/core/data/UdtValue;
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            putstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.UDT_VALUE:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static <T> com.datastax.oss.driver.api.core.type.reflect.GenericType<T> of(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class type
         0: .line 109
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$SimpleGenericType
            dup
            aload 0 /* type */
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$SimpleGenericType.<init>:(Ljava/lang/Class;)V
            areturn
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
      Name  Flags
      type  

  public static com.datastax.oss.driver.api.core.type.reflect.GenericType<?> of(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.reflect.Type type
         0: .line 114
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 0 /* type */
            invokestatic com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
        end local 0 // java.lang.reflect.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/reflect/Type;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<*>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
      Name  Flags
      type  

  public static <T> com.datastax.oss.driver.api.core.type.reflect.GenericType<java.util.List<T>> listOf(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class elementType
         0: .line 120
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$1
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$1.<init>:()V
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$2
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$2.<init>:()V
            aload 0 /* elementType */
            invokestatic com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.api.core.type.reflect.GenericType$1.where:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeParameter;Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
         1: .line 119
            astore 1 /* token */
        start local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
         2: .line 121
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 1 /* token */
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
        end local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
        end local 0 // java.lang.Class elementType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  elementType  Ljava/lang/Class<TT;>;
            2    3     1        token  Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<Ljava/util/List<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/util/List<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
             Name  Flags
      elementType  

  public static <T> com.datastax.oss.driver.api.core.type.reflect.GenericType<java.util.List<T>> listOf(com.datastax.oss.driver.api.core.type.reflect.GenericType<T>);
    descriptor: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType elementType
         0: .line 127
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$3
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$3.<init>:()V
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$4
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$4.<init>:()V
            aload 0 /* elementType */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.api.core.type.reflect.GenericType$3.where:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeParameter;Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
         1: .line 126
            astore 1 /* token */
        start local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
         2: .line 128
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 1 /* token */
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
        end local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType elementType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  elementType  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
            2    3     1        token  Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<Ljava/util/List<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/util/List<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
             Name  Flags
      elementType  

  public static <T> com.datastax.oss.driver.api.core.type.reflect.GenericType<java.util.Set<T>> setOf(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class elementType
         0: .line 134
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$5
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$5.<init>:()V
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$6
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$6.<init>:()V
            aload 0 /* elementType */
            invokestatic com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.api.core.type.reflect.GenericType$5.where:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeParameter;Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
         1: .line 133
            astore 1 /* token */
        start local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
         2: .line 135
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 1 /* token */
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
        end local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
        end local 0 // java.lang.Class elementType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  elementType  Ljava/lang/Class<TT;>;
            2    3     1        token  Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<Ljava/util/Set<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/util/Set<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
             Name  Flags
      elementType  

  public static <T> com.datastax.oss.driver.api.core.type.reflect.GenericType<java.util.Set<T>> setOf(com.datastax.oss.driver.api.core.type.reflect.GenericType<T>);
    descriptor: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType elementType
         0: .line 141
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$7
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$7.<init>:()V
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$8
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$8.<init>:()V
            aload 0 /* elementType */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.api.core.type.reflect.GenericType$7.where:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeParameter;Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
         1: .line 140
            astore 1 /* token */
        start local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
         2: .line 142
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 1 /* token */
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
        end local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType elementType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  elementType  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
            2    3     1        token  Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<Ljava/util/Set<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/util/Set<TT;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
             Name  Flags
      elementType  

  public static <K, V> com.datastax.oss.driver.api.core.type.reflect.GenericType<java.util.Map<K, V>> mapOf(java.lang.Class<K>, java.lang.Class<V>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Class keyType
        start local 1 // java.lang.Class valueType
         0: .line 149
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$9
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$9.<init>:()V
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$10
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$10.<init>:()V
            aload 0 /* keyType */
            invokestatic com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.api.core.type.reflect.GenericType$9.where:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeParameter;Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
         1: .line 150
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$11
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$11.<init>:()V
            aload 1 /* valueType */
            invokestatic com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.where:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeParameter;Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
         2: .line 148
            astore 2 /* token */
        start local 2 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
         3: .line 151
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 2 /* token */
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
        end local 2 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
        end local 1 // java.lang.Class valueType
        end local 0 // java.lang.Class keyType
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0    keyType  Ljava/lang/Class<TK;>;
            0    4     1  valueType  Ljava/lang/Class<TV;>;
            3    4     2      token  Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<Ljava/util/Map<TK;TV;>;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/util/Map<TK;TV;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
           Name  Flags
      keyType    
      valueType  

  public static <K, V> com.datastax.oss.driver.api.core.type.reflect.GenericType<java.util.Map<K, V>> mapOf(com.datastax.oss.driver.api.core.type.reflect.GenericType<K>, com.datastax.oss.driver.api.core.type.reflect.GenericType<V>);
    descriptor: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType keyType
        start local 1 // com.datastax.oss.driver.api.core.type.reflect.GenericType valueType
         0: .line 158
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$12
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$12.<init>:()V
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$13
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$13.<init>:()V
            aload 0 /* keyType */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.api.core.type.reflect.GenericType$12.where:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeParameter;Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
         1: .line 159
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$14
            dup
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$14.<init>:()V
            aload 1 /* valueType */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.where:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeParameter;Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
         2: .line 157
            astore 2 /* token */
        start local 2 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
         3: .line 160
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 2 /* token */
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
        end local 2 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
        end local 1 // com.datastax.oss.driver.api.core.type.reflect.GenericType valueType
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType keyType
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0    keyType  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TK;>;
            0    4     1  valueType  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TV;>;
            3    4     2      token  Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<Ljava/util/Map<TK;TV;>;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TK;>;Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TV;>;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/util/Map<TK;TV;>;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
           Name  Flags
      keyType    
      valueType  

  private void <init>(com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken<T>);
    descriptor: (Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
        start local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
         0: .line 165
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 166
            aload 0 /* this */
            aload 1 /* token */
            putfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
         2: .line 167
            return
        end local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken token
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
            0    3     1  token  Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<TT;>;
    Signature: (Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<TT;>;)V
    MethodParameters:
       Name  Flags
      token  

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
         0: .line 169
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 170
            aload 0 /* this */
            new com.datastax.oss.driver.api.core.type.reflect.GenericType$15
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType$15.<init>:(Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;Ljava/lang/Class;)V
            putfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
         2: .line 171
            return
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;

  public final boolean isSupertypeOf(com.datastax.oss.driver.api.core.type.reflect.GenericType<?>);
    descriptor: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
        start local 1 // com.datastax.oss.driver.api.core.type.reflect.GenericType type
         0: .line 180
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            aload 1 /* type */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.isSupertypeOf:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)Z
            ireturn
        end local 1 // com.datastax.oss.driver.api.core.type.reflect.GenericType type
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
            0    1     1  type  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<*>;
    Signature: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<*>;)Z
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
      Name  Flags
      type  

  public final boolean isSubtypeOf(com.datastax.oss.driver.api.core.type.reflect.GenericType<?>);
    descriptor: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
        start local 1 // com.datastax.oss.driver.api.core.type.reflect.GenericType type
         0: .line 190
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            aload 1 /* type */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.isSubtypeOf:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)Z
            ireturn
        end local 1 // com.datastax.oss.driver.api.core.type.reflect.GenericType type
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
            0    1     1  type  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<*>;
    Signature: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<*>;)Z
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
      Name  Flags
      type  

  public final boolean isArray();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
         0: .line 198
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.isArray:()Z
            ireturn
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;

  public final boolean isPrimitive();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
         0: .line 203
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.isPrimitive:()Z
            ireturn
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;

  public final com.datastax.oss.driver.api.core.type.reflect.GenericType<T> wrap();
    descriptor: ()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
         0: .line 212
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.api.core.type.reflect.GenericType.isPrimitive:()Z
            ifeq 2
         1: .line 213
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.wrap:()Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
         2: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
    Signature: ()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public final com.datastax.oss.driver.api.core.type.reflect.GenericType<T> unwrap();
    descriptor: ()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
         0: .line 224
            invokestatic com.datastax.oss.driver.shaded.guava.common.primitives.Primitives.allWrapperTypes:()Ljava/util/Set;
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 225
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.unwrap:()Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
         2: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
    Signature: ()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public final <X> com.datastax.oss.driver.api.core.type.reflect.GenericType<T> where(com.datastax.oss.driver.api.core.type.reflect.GenericTypeParameter<X>, com.datastax.oss.driver.api.core.type.reflect.GenericType<X>);
    descriptor: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericTypeParameter;Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
        start local 1 // com.datastax.oss.driver.api.core.type.reflect.GenericTypeParameter freeVariable
        start local 2 // com.datastax.oss.driver.api.core.type.reflect.GenericType actualType
         0: .line 238
            new com.datastax.oss.driver.shaded.guava.common.reflect.TypeResolver
            dup
            invokespecial com.datastax.oss.driver.shaded.guava.common.reflect.TypeResolver.<init>:()V
            aload 1 /* freeVariable */
            invokevirtual com.datastax.oss.driver.api.core.type.reflect.GenericTypeParameter.getTypeVariable:()Ljava/lang/reflect/TypeVariable;
            aload 2 /* actualType */
            invokevirtual com.datastax.oss.driver.api.core.type.reflect.GenericType.__getToken:()Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.getType:()Ljava/lang/reflect/Type;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeResolver.where:(Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeResolver;
         1: .line 237
            astore 3 /* resolver */
        start local 3 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeResolver resolver
         2: .line 239
            aload 3 /* resolver */
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.getType:()Ljava/lang/reflect/Type;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeResolver.resolveType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
            astore 4 /* resolvedType */
        start local 4 // java.lang.reflect.Type resolvedType
         3: .line 241
            aload 4 /* resolvedType */
            invokestatic com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.of:(Ljava/lang/reflect/Type;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            astore 5 /* resolvedToken */
        start local 5 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken resolvedToken
         4: .line 242
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 5 /* resolvedToken */
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
        end local 5 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken resolvedToken
        end local 4 // java.lang.reflect.Type resolvedType
        end local 3 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeResolver resolver
        end local 2 // com.datastax.oss.driver.api.core.type.reflect.GenericType actualType
        end local 1 // com.datastax.oss.driver.api.core.type.reflect.GenericTypeParameter freeVariable
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
            0    5     1   freeVariable  Lcom/datastax/oss/driver/api/core/type/reflect/GenericTypeParameter<TX;>;
            0    5     2     actualType  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TX;>;
            2    5     3       resolver  Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeResolver;
            3    5     4   resolvedType  Ljava/lang/reflect/Type;
            4    5     5  resolvedToken  Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<TT;>;
    Signature: <X:Ljava/lang/Object;>(Lcom/datastax/oss/driver/api/core/type/reflect/GenericTypeParameter<TX;>;Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TX;>;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
              Name  Flags
      freeVariable  
      actualType    

  public final <X> com.datastax.oss.driver.api.core.type.reflect.GenericType<T> where(com.datastax.oss.driver.api.core.type.reflect.GenericTypeParameter<X>, java.lang.Class<X>);
    descriptor: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericTypeParameter;Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
        start local 1 // com.datastax.oss.driver.api.core.type.reflect.GenericTypeParameter freeVariable
        start local 2 // java.lang.Class actualType
         0: .line 252
            aload 0 /* this */
            aload 1 /* freeVariable */
            aload 2 /* actualType */
            invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            invokevirtual com.datastax.oss.driver.api.core.type.reflect.GenericType.where:(Lcom/datastax/oss/driver/api/core/type/reflect/GenericTypeParameter;Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
            areturn
        end local 2 // java.lang.Class actualType
        end local 1 // com.datastax.oss.driver.api.core.type.reflect.GenericTypeParameter freeVariable
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
            0    1     1  freeVariable  Lcom/datastax/oss/driver/api/core/type/reflect/GenericTypeParameter<TX;>;
            0    1     2    actualType  Ljava/lang/Class<TX;>;
    Signature: <X:Ljava/lang/Object;>(Lcom/datastax/oss/driver/api/core/type/reflect/GenericTypeParameter<TX;>;Ljava/lang/Class<TX;>;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
              Name  Flags
      freeVariable  
      actualType    

  public final com.datastax.oss.driver.api.core.type.reflect.GenericType<?> getComponentType();
    descriptor: ()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
         0: .line 262
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.getComponentType:()Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            astore 1 /* componentTypeToken */
        start local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken componentTypeToken
         1: .line 263
            aload 1 /* componentTypeToken */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken
      StackMap stack:
         2: new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 1 /* componentTypeToken */
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
      StackMap locals:
      StackMap stack: com.datastax.oss.driver.api.core.type.reflect.GenericType
         3: areturn
        end local 1 // com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken componentTypeToken
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
            1    4     1  componentTypeToken  Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<*>;
    Signature: ()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<*>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.Nullable()

  public java.lang.Class<? super T> getRawType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
         0: .line 282
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
            areturn
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
    Signature: ()Ljava/lang/Class<-TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public final com.datastax.oss.driver.api.core.type.reflect.GenericType<? super T> getSupertype(java.lang.Class<? super T>);
    descriptor: (Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
        start local 1 // java.lang.Class superclass
         0: .line 293
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            aload 1 /* superclass */
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.getSupertype:(Ljava/lang/Class;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
        end local 1 // java.lang.Class superclass
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
            0    1     1  superclass  Ljava/lang/Class<-TT;>;
    Signature: (Ljava/lang/Class<-TT;>;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<-TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
            Name  Flags
      superclass  

  public final com.datastax.oss.driver.api.core.type.reflect.GenericType<? extends T> getSubtype(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
        start local 1 // java.lang.Class subclass
         0: .line 304
            new com.datastax.oss.driver.api.core.type.reflect.GenericType
            dup
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            aload 1 /* subclass */
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.getSubtype:(Ljava/lang/Class;)Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokespecial com.datastax.oss.driver.api.core.type.reflect.GenericType.<init>:(Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;)V
            areturn
        end local 1 // java.lang.Class subclass
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
            0    1     1  subclass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<+TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
          Name  Flags
      subclass  

  public final java.lang.reflect.Type getType();
    descriptor: ()Ljava/lang/reflect/Type;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
         0: .line 310
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.getType:()Ljava/lang/reflect/Type;
            areturn
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken<T> __getToken();
    descriptor: ()Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
         0: .line 323
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            areturn
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
    Signature: ()Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken<TT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
        start local 1 // java.lang.Object other
         0: .line 328
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 2
         1: .line 329
            iconst_1
            ireturn
         2: .line 330
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof com.datastax.oss.driver.api.core.type.reflect.GenericType
            ifeq 5
         3: .line 331
            aload 1 /* other */
            checkcast com.datastax.oss.driver.api.core.type.reflect.GenericType
            astore 2 /* that */
        start local 2 // com.datastax.oss.driver.api.core.type.reflect.GenericType that
         4: .line 332
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            aload 2 /* that */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // com.datastax.oss.driver.api.core.type.reflect.GenericType that
         5: .line 334
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
            0    6     1  other  Ljava/lang/Object;
            4    5     2   that  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
         0: .line 340
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.hashCode:()I
            ireturn
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
         0: .line 345
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.type.reflect.GenericType.token:Lcom/datastax/oss/driver/shaded/guava/common/reflect/TypeToken;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.reflect.TypeToken.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.datastax.oss.driver.api.core.type.reflect.GenericType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "GenericType.java"
NestMembers:
  com.datastax.oss.driver.api.core.type.reflect.GenericType$1  com.datastax.oss.driver.api.core.type.reflect.GenericType$10  com.datastax.oss.driver.api.core.type.reflect.GenericType$11  com.datastax.oss.driver.api.core.type.reflect.GenericType$12  com.datastax.oss.driver.api.core.type.reflect.GenericType$13  com.datastax.oss.driver.api.core.type.reflect.GenericType$14  com.datastax.oss.driver.api.core.type.reflect.GenericType$15  com.datastax.oss.driver.api.core.type.reflect.GenericType$2  com.datastax.oss.driver.api.core.type.reflect.GenericType$3  com.datastax.oss.driver.api.core.type.reflect.GenericType$4  com.datastax.oss.driver.api.core.type.reflect.GenericType$5  com.datastax.oss.driver.api.core.type.reflect.GenericType$6  com.datastax.oss.driver.api.core.type.reflect.GenericType$7  com.datastax.oss.driver.api.core.type.reflect.GenericType$8  com.datastax.oss.driver.api.core.type.reflect.GenericType$9  com.datastax.oss.driver.api.core.type.reflect.GenericType$SimpleGenericType
InnerClasses:
  com.datastax.oss.driver.api.core.type.reflect.GenericType$1
  com.datastax.oss.driver.api.core.type.reflect.GenericType$10
  com.datastax.oss.driver.api.core.type.reflect.GenericType$11
  com.datastax.oss.driver.api.core.type.reflect.GenericType$12
  com.datastax.oss.driver.api.core.type.reflect.GenericType$13
  com.datastax.oss.driver.api.core.type.reflect.GenericType$14
  com.datastax.oss.driver.api.core.type.reflect.GenericType$15
  com.datastax.oss.driver.api.core.type.reflect.GenericType$2
  com.datastax.oss.driver.api.core.type.reflect.GenericType$3
  com.datastax.oss.driver.api.core.type.reflect.GenericType$4
  com.datastax.oss.driver.api.core.type.reflect.GenericType$5
  com.datastax.oss.driver.api.core.type.reflect.GenericType$6
  com.datastax.oss.driver.api.core.type.reflect.GenericType$7
  com.datastax.oss.driver.api.core.type.reflect.GenericType$8
  com.datastax.oss.driver.api.core.type.reflect.GenericType$9
  private SimpleGenericType = com.datastax.oss.driver.api.core.type.reflect.GenericType$SimpleGenericType of com.datastax.oss.driver.api.core.type.reflect.GenericType
    RuntimeVisibleAnnotations: 
      net.jcip.annotations.Immutable()