public final class io.ebeaninternal.server.type.DefaultTypeManager implements io.ebeaninternal.server.type.TypeManager
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.ebeaninternal.server.type.DefaultTypeManager
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.concurrent.ConcurrentHashMap<java.lang.Class<?>, io.ebean.core.type.ScalarType<?>> typeMap;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/Class<*>;Lio/ebean/core/type/ScalarType<*>;>;

  private final java.util.concurrent.ConcurrentHashMap<java.lang.Integer, io.ebean.core.type.ScalarType<?>> nativeMap;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/Integer;Lio/ebean/core/type/ScalarType<*>;>;

  private final java.util.concurrent.ConcurrentHashMap<java.lang.String, io.ebean.core.type.ScalarType<?>> logicalMap;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lio/ebean/core/type/ScalarType<*>;>;

  private final io.ebeaninternal.server.type.DefaultTypeFactory extraTypeFactory;
    descriptor: Lio/ebeaninternal/server/type/DefaultTypeFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebean.core.type.ScalarType<?> hstoreType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebeaninternal.server.type.ScalarTypeFile fileType;
    descriptor: Lio/ebeaninternal/server/type/ScalarTypeFile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebean.core.type.ScalarType<?> charType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> charArrayType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> longVarcharType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> clobType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> byteType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> binaryType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> blobType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> varbinaryType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> longVarbinaryType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> shortType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> integerType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> longType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> doubleType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> floatType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> bigDecimalType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> timeType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> urlType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> uriType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> localeType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> currencyType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> timeZoneType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> stringType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.core.type.ScalarType<?> classType;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebean.config.JsonConfig$DateTime jsonDateTime;
    descriptor: Lio/ebean/config/JsonConfig$DateTime;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebean.config.JsonConfig$Date jsonDate;
    descriptor: Lio/ebean/config/JsonConfig$Date;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object objectMapper;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private final javax.persistence.EnumType defaultEnumType;
    descriptor: Ljavax/persistence/EnumType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.ebean.core.type.ScalarType<?> jsonNodeClob;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private io.ebean.core.type.ScalarType<?> jsonNodeBlob;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private io.ebean.core.type.ScalarType<?> jsonNodeVarchar;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private io.ebean.core.type.ScalarType<?> jsonNodeJson;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private io.ebean.core.type.ScalarType<?> jsonNodeJsonb;
    descriptor: Lio/ebean/core/type/ScalarType;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/ebean/core/type/ScalarType<*>;

  private final io.ebeaninternal.server.type.PlatformArrayTypeFactory arrayTypeListFactory;
    descriptor: Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebeaninternal.server.type.PlatformArrayTypeFactory arrayTypeSetFactory;
    descriptor: Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.ebeaninternal.server.type.GeoTypeBinder geoTypeBinder;
    descriptor: Lio/ebeaninternal/server/type/GeoTypeBinder;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 89
            ldc Lio/ebeaninternal/server/type/DefaultTypeManager;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.ebean.config.DatabaseConfig, io.ebeaninternal.server.core.bootup.BootupClasses);
    descriptor: (Lio/ebean/config/DatabaseConfig;Lio/ebeaninternal/server/core/bootup/BootupClasses;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.config.DatabaseConfig config
        start local 2 // io.ebeaninternal.server.core.bootup.BootupClasses bootupClasses
         0: .line 188
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 99
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypePostgresHstore
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypePostgresHstore.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.hstoreType:Lio/ebean/core/type/ScalarType;
         2: .line 101
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeFile
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeFile.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.fileType:Lio/ebeaninternal/server/type/ScalarTypeFile;
         3: .line 103
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeChar
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeChar.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.charType:Lio/ebean/core/type/ScalarType;
         4: .line 105
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeCharArray
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeCharArray.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.charArrayType:Lio/ebean/core/type/ScalarType;
         5: .line 107
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeLongVarchar
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeLongVarchar.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.longVarcharType:Lio/ebean/core/type/ScalarType;
         6: .line 109
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeClob
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeClob.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.clobType:Lio/ebean/core/type/ScalarType;
         7: .line 111
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeByte
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeByte.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.byteType:Lio/ebean/core/type/ScalarType;
         8: .line 113
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeBytesBinary
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeBytesBinary.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.binaryType:Lio/ebean/core/type/ScalarType;
         9: .line 115
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeBytesBlob
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeBytesBlob.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.blobType:Lio/ebean/core/type/ScalarType;
        10: .line 117
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeBytesVarbinary
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeBytesVarbinary.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.varbinaryType:Lio/ebean/core/type/ScalarType;
        11: .line 119
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeBytesLongVarbinary
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeBytesLongVarbinary.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.longVarbinaryType:Lio/ebean/core/type/ScalarType;
        12: .line 121
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeShort
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeShort.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.shortType:Lio/ebean/core/type/ScalarType;
        13: .line 123
            aload 0 /* this */
            getstatic io.ebeaninternal.server.type.ScalarTypeInteger.INSTANCE:Lio/ebeaninternal/server/type/ScalarTypeInteger;
            putfield io.ebeaninternal.server.type.DefaultTypeManager.integerType:Lio/ebean/core/type/ScalarType;
        14: .line 125
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeLong
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeLong.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.longType:Lio/ebean/core/type/ScalarType;
        15: .line 127
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeDouble
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeDouble.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.doubleType:Lio/ebean/core/type/ScalarType;
        16: .line 129
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeFloat
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeFloat.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.floatType:Lio/ebean/core/type/ScalarType;
        17: .line 131
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeBigDecimal
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeBigDecimal.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.bigDecimalType:Lio/ebean/core/type/ScalarType;
        18: .line 133
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeTime
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeTime.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.timeType:Lio/ebean/core/type/ScalarType;
        19: .line 135
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeURL
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeURL.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.urlType:Lio/ebean/core/type/ScalarType;
        20: .line 136
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeURI
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeURI.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.uriType:Lio/ebean/core/type/ScalarType;
        21: .line 137
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeLocale
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeLocale.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.localeType:Lio/ebean/core/type/ScalarType;
        22: .line 138
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeCurrency
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeCurrency.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.currencyType:Lio/ebean/core/type/ScalarType;
        23: .line 139
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeTimeZone
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeTimeZone.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.timeZoneType:Lio/ebean/core/type/ScalarType;
        24: .line 141
            aload 0 /* this */
            getstatic io.ebeaninternal.server.type.ScalarTypeString.INSTANCE:Lio/ebeaninternal/server/type/ScalarTypeString;
            putfield io.ebeaninternal.server.type.DefaultTypeManager.stringType:Lio/ebean/core/type/ScalarType;
        25: .line 143
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeClass
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeClass.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.classType:Lio/ebean/core/type/ScalarType;
        26: .line 189
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getJsonDateTime:()Lio/ebean/config/JsonConfig$DateTime;
            putfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
        27: .line 190
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getJsonDate:()Lio/ebean/config/JsonConfig$Date;
            putfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDate:Lio/ebean/config/JsonConfig$Date;
        28: .line 191
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.typeMap:Ljava/util/concurrent/ConcurrentHashMap;
        29: .line 192
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
        30: .line 193
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.logicalMap:Ljava/util/concurrent/ConcurrentHashMap;
        31: .line 195
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getClassLoadConfig:()Lio/ebean/config/ClassLoadConfig;
            invokevirtual io.ebean.config.ClassLoadConfig.isJacksonObjectMapperPresent:()Z
            putfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapperPresent:Z
        32: .line 196
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapperPresent:Z
            ifeq 33
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.initObjectMapper:(Lio/ebean/config/DatabaseConfig;)Ljava/lang/Object;
            goto 34
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebean.config.DatabaseConfig io.ebeaninternal.server.core.bootup.BootupClasses
      StackMap stack: io.ebeaninternal.server.type.DefaultTypeManager
        33: aconst_null
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebean.config.DatabaseConfig io.ebeaninternal.server.core.bootup.BootupClasses
      StackMap stack: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Object
        34: putfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapper:Ljava/lang/Object;
        35: .line 198
            aload 0 /* this */
            new io.ebeaninternal.server.type.DefaultTypeFactory
            dup
            aload 1 /* config */
            invokespecial io.ebeaninternal.server.type.DefaultTypeFactory.<init>:(Lio/ebean/config/DatabaseConfig;)V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.extraTypeFactory:Lio/ebeaninternal/server/type/DefaultTypeFactory;
        36: .line 199
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getDatabasePlatform:()Lio/ebean/config/dbplatform/DatabasePlatform;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.isPostgres:(Lio/ebean/config/dbplatform/DatabasePlatform;)Z
            putfield io.ebeaninternal.server.type.DefaultTypeManager.postgres:Z
        37: .line 200
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getDatabasePlatform:()Lio/ebean/config/dbplatform/DatabasePlatform;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.arrayTypeListFactory:(Lio/ebean/config/dbplatform/DatabasePlatform;)Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            putfield io.ebeaninternal.server.type.DefaultTypeManager.arrayTypeListFactory:Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
        38: .line 201
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getDatabasePlatform:()Lio/ebean/config/dbplatform/DatabasePlatform;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.arrayTypeSetFactory:(Lio/ebean/config/dbplatform/DatabasePlatform;)Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            putfield io.ebeaninternal.server.type.DefaultTypeManager.arrayTypeSetFactory:Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
        39: .line 203
            aload 0 /* this */
            invokestatic io.ebeaninternal.api.DbOffline.isGenerateMigration:()Z
            putfield io.ebeaninternal.server.type.DefaultTypeManager.offlineMigrationGeneration:Z
        40: .line 205
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getDefaultEnumType:()Ljavax/persistence/EnumType;
            putfield io.ebeaninternal.server.type.DefaultTypeManager.defaultEnumType:Ljavax/persistence/EnumType;
        41: .line 207
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.initialiseStandard:(Lio/ebean/config/DatabaseConfig;)V
        42: .line 208
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.initialiseJavaTimeTypes:(Lio/ebean/config/DatabaseConfig;)V
        43: .line 209
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.initialiseJodaTypes:(Lio/ebean/config/DatabaseConfig;)V
        44: .line 210
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.initialiseJacksonTypes:(Lio/ebean/config/DatabaseConfig;)V
        45: .line 212
            aload 0 /* this */
            aload 1 /* config */
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapper:Ljava/lang/Object;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.loadTypesFromProviders:(Lio/ebean/config/DatabaseConfig;Ljava/lang/Object;)V
        46: .line 213
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.loadGeoTypeBinder:(Lio/ebean/config/DatabaseConfig;)V
        47: .line 215
            aload 2 /* bootupClasses */
            ifnull 51
        48: .line 216
            aload 0 /* this */
            aload 2 /* bootupClasses */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.initialiseCustomScalarTypes:(Lio/ebeaninternal/server/core/bootup/BootupClasses;)V
        49: .line 217
            aload 0 /* this */
            aload 2 /* bootupClasses */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.initialiseScalarConverters:(Lio/ebeaninternal/server/core/bootup/BootupClasses;)V
        50: .line 218
            aload 0 /* this */
            aload 2 /* bootupClasses */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.initialiseAttributeConverters:(Lio/ebeaninternal/server/core/bootup/BootupClasses;)V
        51: .line 220
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.server.core.bootup.BootupClasses bootupClasses
        end local 1 // io.ebean.config.DatabaseConfig config
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   52     0           this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   52     1         config  Lio/ebean/config/DatabaseConfig;
            0   52     2  bootupClasses  Lio/ebeaninternal/server/core/bootup/BootupClasses;
    MethodParameters:
               Name  Flags
      config         
      bootupClasses  

  private void loadGeoTypeBinder(io.ebean.config.DatabaseConfig);
    descriptor: (Lio/ebean/config/DatabaseConfig;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.config.DatabaseConfig config
         0: .line 223
            aload 1 /* config */
            ldc Lio/ebeaninternal/api/GeoTypeProvider;
            invokevirtual io.ebean.config.DatabaseConfig.service:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast io.ebeaninternal.api.GeoTypeProvider
            astore 2 /* provider */
        start local 2 // io.ebeaninternal.api.GeoTypeProvider provider
         1: .line 224
            aload 2 /* provider */
            ifnull 3
         2: .line 225
            aload 0 /* this */
            aload 2 /* provider */
            aload 1 /* config */
            invokeinterface io.ebeaninternal.api.GeoTypeProvider.createBinder:(Lio/ebean/config/DatabaseConfig;)Lio/ebeaninternal/server/type/GeoTypeBinder;
            putfield io.ebeaninternal.server.type.DefaultTypeManager.geoTypeBinder:Lio/ebeaninternal/server/type/GeoTypeBinder;
         3: .line 227
      StackMap locals: io.ebeaninternal.api.GeoTypeProvider
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.api.GeoTypeProvider provider
        end local 1 // io.ebean.config.DatabaseConfig config
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    4     1    config  Lio/ebean/config/DatabaseConfig;
            1    4     2  provider  Lio/ebeaninternal/api/GeoTypeProvider;
    MethodParameters:
        Name  Flags
      config  

  private io.ebeaninternal.server.type.PlatformArrayTypeFactory arrayTypeListFactory(io.ebean.config.dbplatform.DatabasePlatform);
    descriptor: (Lio/ebean/config/dbplatform/DatabasePlatform;)Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.config.dbplatform.DatabasePlatform databasePlatform
         0: .line 233
            aload 1 /* databasePlatform */
            invokevirtual io.ebean.config.dbplatform.DatabasePlatform.isNativeArrayType:()Z
            ifeq 2
         1: .line 234
            invokestatic io.ebeaninternal.server.type.ScalarTypeArrayList.factory:()Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            areturn
         2: .line 235
      StackMap locals:
      StackMap stack:
            aload 1 /* databasePlatform */
            getstatic io.ebean.annotation.Platform.H2:Lio/ebean/annotation/Platform;
            invokevirtual io.ebean.config.dbplatform.DatabasePlatform.isPlatform:(Lio/ebean/annotation/Platform;)Z
            ifeq 4
         3: .line 236
            invokestatic io.ebeaninternal.server.type.ScalarTypeArrayListH2.factory:()Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            areturn
         4: .line 239
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // io.ebean.config.dbplatform.DatabasePlatform databasePlatform
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    5     1  databasePlatform  Lio/ebean/config/dbplatform/DatabasePlatform;
    MethodParameters:
                  Name  Flags
      databasePlatform  

  private io.ebeaninternal.server.type.PlatformArrayTypeFactory arrayTypeSetFactory(io.ebean.config.dbplatform.DatabasePlatform);
    descriptor: (Lio/ebean/config/dbplatform/DatabasePlatform;)Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.config.dbplatform.DatabasePlatform databasePlatform
         0: .line 246
            aload 1 /* databasePlatform */
            invokevirtual io.ebean.config.dbplatform.DatabasePlatform.isNativeArrayType:()Z
            ifeq 2
         1: .line 247
            invokestatic io.ebeaninternal.server.type.ScalarTypeArraySet.factory:()Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            areturn
         2: .line 248
      StackMap locals:
      StackMap stack:
            aload 1 /* databasePlatform */
            getstatic io.ebean.annotation.Platform.H2:Lio/ebean/annotation/Platform;
            invokevirtual io.ebean.config.dbplatform.DatabasePlatform.isPlatform:(Lio/ebean/annotation/Platform;)Z
            ifeq 4
         3: .line 249
            invokestatic io.ebeaninternal.server.type.ScalarTypeArraySetH2.factory:()Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            areturn
         4: .line 252
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // io.ebean.config.dbplatform.DatabasePlatform databasePlatform
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    5     1  databasePlatform  Lio/ebean/config/dbplatform/DatabasePlatform;
    MethodParameters:
                  Name  Flags
      databasePlatform  

  private void loadTypesFromProviders(io.ebean.config.DatabaseConfig, java.lang.Object);
    descriptor: (Lio/ebean/config/DatabaseConfig;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.config.DatabaseConfig config
        start local 2 // java.lang.Object objectMapper
         0: .line 259
            ldc Lio/ebean/core/type/ExtraTypeFactory;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;)Ljava/util/ServiceLoader;
            astore 3 /* factories */
        start local 3 // java.util.ServiceLoader factories
         1: .line 260
            aload 3 /* factories */
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            astore 4 /* iterator */
        start local 4 // java.util.Iterator iterator
         2: .line 261
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 10
         3: .line 263
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebean.core.type.ExtraTypeFactory
            astore 5 /* plugin */
        start local 5 // io.ebean.core.type.ExtraTypeFactory plugin
         4: .line 264
            aload 5 /* plugin */
            aload 1 /* config */
            aload 2 /* objectMapper */
            invokeinterface io.ebean.core.type.ExtraTypeFactory.createTypes:(Lio/ebean/config/DatabaseConfig;Ljava/lang/Object;)Ljava/util/List;
            astore 6 /* types */
        start local 6 // java.util.List types
         5: .line 265
            aload 6 /* types */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 9
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebean.config.DatabaseConfig java.lang.Object java.util.ServiceLoader java.util.Iterator io.ebean.core.type.ExtraTypeFactory java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            astore 7 /* type */
        start local 7 // io.ebean.core.type.ScalarType type
         7: .line 266
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            ldc "adding ScalarType {}"
            aload 7 /* type */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 267
            aload 0 /* this */
            aload 7 /* type */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addCustomType:(Lio/ebean/core/type/ScalarType;)V
        end local 7 // io.ebean.core.type.ScalarType type
         9: .line 265
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 6 // java.util.List types
        end local 5 // io.ebean.core.type.ExtraTypeFactory plugin
        10: .line 270
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebean.config.DatabaseConfig java.lang.Object java.util.ServiceLoader java.util.Iterator
      StackMap stack:
            return
        end local 4 // java.util.Iterator iterator
        end local 3 // java.util.ServiceLoader factories
        end local 2 // java.lang.Object objectMapper
        end local 1 // io.ebean.config.DatabaseConfig config
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   11     1        config  Lio/ebean/config/DatabaseConfig;
            0   11     2  objectMapper  Ljava/lang/Object;
            1   11     3     factories  Ljava/util/ServiceLoader<Lio/ebean/core/type/ExtraTypeFactory;>;
            2   11     4      iterator  Ljava/util/Iterator<Lio/ebean/core/type/ExtraTypeFactory;>;
            4   10     5        plugin  Lio/ebean/core/type/ExtraTypeFactory;
            5   10     6         types  Ljava/util/List<+Lio/ebean/core/type/ScalarType<*>;>;
            7    9     7          type  Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
              Name  Flags
      config        
      objectMapper  

  private boolean isPostgres(io.ebean.config.dbplatform.DatabasePlatform);
    descriptor: (Lio/ebean/config/dbplatform/DatabasePlatform;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.config.dbplatform.DatabasePlatform databasePlatform
         0: .line 273
            aload 1 /* databasePlatform */
            invokevirtual io.ebean.config.dbplatform.DatabasePlatform.getPlatform:()Lio/ebean/annotation/Platform;
            invokevirtual io.ebean.annotation.Platform.base:()Lio/ebean/annotation/Platform;
            getstatic io.ebean.annotation.Platform.POSTGRES:Lio/ebean/annotation/Platform;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // io.ebean.config.dbplatform.DatabasePlatform databasePlatform
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    2     1  databasePlatform  Lio/ebean/config/dbplatform/DatabasePlatform;
    MethodParameters:
                  Name  Flags
      databasePlatform  

  public void add(io.ebean.core.type.ScalarType<?>);
    descriptor: (Lio/ebean/core/type/ScalarType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.core.type.ScalarType scalarType
         0: .line 281
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.typeMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* scalarType */
            invokeinterface io.ebean.core.type.ScalarType.getType:()Ljava/lang/Class;
            aload 1 /* scalarType */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 282
            aload 0 /* this */
            aload 1 /* scalarType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.logAdd:(Lio/ebean/core/type/ScalarType;)V
         2: .line 283
            return
        end local 1 // io.ebean.core.type.ScalarType scalarType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    3     1  scalarType  Lio/ebean/core/type/ScalarType<*>;
    Signature: (Lio/ebean/core/type/ScalarType<*>;)V
    MethodParameters:
            Name  Flags
      scalarType  

  public void addEnumType(io.ebean.core.type.ScalarType<?>, java.lang.Class<? extends java.lang.Enum>);
    descriptor: (Lio/ebean/core/type/ScalarType;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.core.type.ScalarType scalarType
        start local 2 // java.lang.Class enumClass
         0: .line 293
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* mappedClasses */
        start local 3 // java.util.Set mappedClasses
         1: .line 294
            aload 3 /* mappedClasses */
            aload 2 /* enumClass */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 295
            aload 2 /* enumClass */
            invokestatic java.util.EnumSet.allOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            invokevirtual java.util.EnumSet.toArray:()[Ljava/lang/Object;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 6
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebean.core.type.ScalarType java.lang.Class java.util.Set top int int java.lang.Object[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* value */
        start local 4 // java.lang.Object value
         4: .line 296
            aload 3 /* mappedClasses */
            aload 4 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object value
         5: .line 295
            iinc 5 1
      StackMap locals:
      StackMap stack:
         6: iload 5
            iload 6
            if_icmplt 3
         7: .line 298
            aload 3 /* mappedClasses */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebean.core.type.ScalarType java.lang.Class java.util.Set top java.util.Iterator
      StackMap stack:
         8: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* cls */
        start local 4 // java.lang.Class cls
         9: .line 299
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.typeMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 4 /* cls */
            aload 1 /* scalarType */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.Class cls
        10: .line 298
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 301
            aload 0 /* this */
            aload 1 /* scalarType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.logAdd:(Lio/ebean/core/type/ScalarType;)V
        12: .line 302
            return
        end local 3 // java.util.Set mappedClasses
        end local 2 // java.lang.Class enumClass
        end local 1 // io.ebean.core.type.ScalarType scalarType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   13     1     scalarType  Lio/ebean/core/type/ScalarType<*>;
            0   13     2      enumClass  Ljava/lang/Class<+Ljava/lang/Enum;>;
            1   13     3  mappedClasses  Ljava/util/Set<Ljava/lang/Class<*>;>;
            4    5     4          value  Ljava/lang/Object;
            9   10     4            cls  Ljava/lang/Class<*>;
    Signature: (Lio/ebean/core/type/ScalarType<*>;Ljava/lang/Class<+Ljava/lang/Enum;>;)V
    MethodParameters:
            Name  Flags
      scalarType  
      enumClass   

  private void logAdd(io.ebean.core.type.ScalarType<?>);
    descriptor: (Lio/ebean/core/type/ScalarType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.core.type.ScalarType scalarType
         0: .line 305
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 4
         1: .line 306
            new java.lang.StringBuilder
            dup
            ldc "ScalarType register ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* scalarType */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         2: .line 307
            new java.lang.StringBuilder
            dup
            aload 2 /* msg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " for ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* scalarType */
            invokeinterface io.ebean.core.type.ScalarType.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* msg */
         3: .line 308
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            aload 2 /* msg */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;)V
        end local 2 // java.lang.String msg
         4: .line 310
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebean.core.type.ScalarType scalarType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    5     1  scalarType  Lio/ebean/core/type/ScalarType<*>;
            2    4     2         msg  Ljava/lang/String;
    Signature: (Lio/ebean/core/type/ScalarType<*>;)V
    MethodParameters:
            Name  Flags
      scalarType  

  public io.ebean.core.type.ScalarType<?> getScalarType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.String cast
         0: .line 314
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.logicalMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* cast */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            areturn
        end local 1 // java.lang.String cast
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    1     1  cast  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
      Name  Flags
      cast  

  public io.ebean.core.type.ScalarType<?> getScalarType(int);
    descriptor: (I)Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // int jdbcType
         0: .line 322
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            iload 1 /* jdbcType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            areturn
        end local 1 // int jdbcType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    1     1  jdbcType  I
    Signature: (I)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
          Name  Flags
      jdbcType  

  public io.ebean.core.type.ScalarType<?> getScalarType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Class type
         0: .line 330
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.typeMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* type */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            astore 2 /* found */
        start local 2 // io.ebean.core.type.ScalarType found
         1: .line 331
            aload 2 /* found */
            ifnonnull 7
         2: .line 332
            aload 1 /* type */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "org.joda.time.LocalTime"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 333
            new java.lang.IllegalStateException
            dup
         4: .line 334
            ldc "ScalarType of Joda LocalTime not defined. You need to set DatabaseConfig.jodaLocalTimeMode to either 'normal' or 'utc'.  UTC is the old mode using UTC timezone but local time zone is now preferred as 'normal' mode."
         5: .line 333
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 337
      StackMap locals: io.ebean.core.type.ScalarType
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.checkInterfaceTypes:(Ljava/lang/Class;)Lio/ebean/core/type/ScalarType;
            astore 2 /* found */
         7: .line 339
      StackMap locals:
      StackMap stack:
            aload 2 /* found */
            areturn
        end local 2 // io.ebean.core.type.ScalarType found
        end local 1 // java.lang.Class type
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    8     1   type  Ljava/lang/Class<*>;
            1    8     2  found  Lio/ebean/core/type/ScalarType<*>;
    Signature: (Ljava/lang/Class<*>;)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
      Name  Flags
      type  

  private io.ebean.core.type.ScalarType<?> checkInterfaceTypes(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lio/ebean/core/type/ScalarType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Class type
         0: .line 343
            ldc Ljava/nio/file/Path;
            aload 1 /* type */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 2
         1: .line 344
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.typeMap:Ljava/util/concurrent/ConcurrentHashMap;
            ldc Ljava/nio/file/Path;
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            areturn
         2: .line 346
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Class type
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    3     1  type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
      Name  Flags
      type  

  public io.ebeaninternal.server.type.GeoTypeBinder getGeoTypeBinder();
    descriptor: ()Lio/ebeaninternal/server/type/GeoTypeBinder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
         0: .line 351
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.geoTypeBinder:Lio/ebeaninternal/server/type/GeoTypeBinder;
            areturn
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/type/DefaultTypeManager;

  public io.ebean.core.type.ScalarType<?> getDbMapScalarType();
    descriptor: ()Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
         0: .line 356
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.postgres:Z
            ifeq 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.hstoreType:Lio/ebean/core/type/ScalarType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            bipush 12
            invokestatic io.ebeaninternal.server.type.ScalarTypeJsonMap.typeFor:(ZI)Lio/ebeaninternal/server/type/ScalarTypeJsonMap;
      StackMap locals:
      StackMap stack: io.ebean.core.type.ScalarType
         2: areturn
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/ebeaninternal/server/type/DefaultTypeManager;
    Signature: ()Lio/ebean/core/type/ScalarType<*>;

  public io.ebean.core.type.ScalarType<?> getArrayScalarType(java.lang.Class<?>, io.ebean.annotation.DbArray, java.lang.reflect.Type, boolean);
    descriptor: (Ljava/lang/Class;Lio/ebean/annotation/DbArray;Ljava/lang/reflect/Type;Z)Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Class type
        start local 2 // io.ebean.annotation.DbArray dbArray
        start local 3 // java.lang.reflect.Type genericType
        start local 4 // boolean nullable
         0: .line 361
            aload 0 /* this */
            aload 3 /* genericType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getValueType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
            astore 5 /* valueType */
        start local 5 // java.lang.reflect.Type valueType
         1: .line 362
            aload 1 /* type */
            ldc Ljava/util/List;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 363
            aload 0 /* this */
            aload 5 /* valueType */
            iload 4 /* nullable */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getArrayScalarTypeList:(Ljava/lang/reflect/Type;Z)Lio/ebean/core/type/ScalarType;
            areturn
         3: .line 364
      StackMap locals: java.lang.reflect.Type
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/util/Set;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 365
            aload 0 /* this */
            aload 5 /* valueType */
            iload 4 /* nullable */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getArrayScalarTypeSet:(Ljava/lang/reflect/Type;Z)Lio/ebean/core/type/ScalarType;
            areturn
         5: .line 367
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Type ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] not supported for @DbArray"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.reflect.Type valueType
        end local 4 // boolean nullable
        end local 3 // java.lang.reflect.Type genericType
        end local 2 // io.ebean.annotation.DbArray dbArray
        end local 1 // java.lang.Class type
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    6     1         type  Ljava/lang/Class<*>;
            0    6     2      dbArray  Lio/ebean/annotation/DbArray;
            0    6     3  genericType  Ljava/lang/reflect/Type;
            0    6     4     nullable  Z
            1    6     5    valueType  Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/Class<*>;Lio/ebean/annotation/DbArray;Ljava/lang/reflect/Type;Z)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
             Name  Flags
      type         
      dbArray      
      genericType  
      nullable     

  private io.ebean.core.type.ScalarType<?> getArrayScalarTypeSet(java.lang.reflect.Type, boolean);
    descriptor: (Ljava/lang/reflect/Type;Z)Lio/ebean/core/type/ScalarType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.reflect.Type valueType
        start local 2 // boolean nullable
         0: .line 372
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.arrayTypeSetFactory:Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            ifnull 4
         1: .line 373
            aload 0 /* this */
            aload 1 /* valueType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.isEnumType:(Ljava/lang/reflect/Type;)Z
            ifeq 3
         2: .line 374
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.arrayTypeSetFactory:Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* valueType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.asEnumClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            aconst_null
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createEnumScalarType:(Ljava/lang/Class;Ljavax/persistence/EnumType;)Lio/ebean/core/type/ScalarType;
            iload 2 /* nullable */
            invokeinterface io.ebeaninternal.server.type.PlatformArrayTypeFactory.typeForEnum:(Lio/ebean/core/type/ScalarType;Z)Lio/ebean/core/type/ScalarType;
            areturn
         3: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.arrayTypeSetFactory:Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            aload 1 /* valueType */
            iload 2 /* nullable */
            invokeinterface io.ebeaninternal.server.type.PlatformArrayTypeFactory.typeFor:(Ljava/lang/reflect/Type;Z)Lio/ebean/core/type/ScalarType;
            areturn
         4: .line 379
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.type.ScalarTypeJsonSet$Varchar
            dup
            aload 0 /* this */
            aload 1 /* valueType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getDocType:(Ljava/lang/reflect/Type;)Lio/ebean/core/type/DocPropertyType;
            iload 2 /* nullable */
            invokespecial io.ebeaninternal.server.type.ScalarTypeJsonSet$Varchar.<init>:(Lio/ebean/core/type/DocPropertyType;Z)V
            areturn
        end local 2 // boolean nullable
        end local 1 // java.lang.reflect.Type valueType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    5     1  valueType  Ljava/lang/reflect/Type;
            0    5     2   nullable  Z
    Signature: (Ljava/lang/reflect/Type;Z)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
           Name  Flags
      valueType  
      nullable   

  private io.ebean.core.type.ScalarType<?> getArrayScalarTypeList(java.lang.reflect.Type, boolean);
    descriptor: (Ljava/lang/reflect/Type;Z)Lio/ebean/core/type/ScalarType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.reflect.Type valueType
        start local 2 // boolean nullable
         0: .line 383
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.arrayTypeListFactory:Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            ifnull 4
         1: .line 384
            aload 0 /* this */
            aload 1 /* valueType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.isEnumType:(Ljava/lang/reflect/Type;)Z
            ifeq 3
         2: .line 385
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.arrayTypeListFactory:Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* valueType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.asEnumClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            aconst_null
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createEnumScalarType:(Ljava/lang/Class;Ljavax/persistence/EnumType;)Lio/ebean/core/type/ScalarType;
            iload 2 /* nullable */
            invokeinterface io.ebeaninternal.server.type.PlatformArrayTypeFactory.typeForEnum:(Lio/ebean/core/type/ScalarType;Z)Lio/ebean/core/type/ScalarType;
            areturn
         3: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.arrayTypeListFactory:Lio/ebeaninternal/server/type/PlatformArrayTypeFactory;
            aload 1 /* valueType */
            iload 2 /* nullable */
            invokeinterface io.ebeaninternal.server.type.PlatformArrayTypeFactory.typeFor:(Ljava/lang/reflect/Type;Z)Lio/ebean/core/type/ScalarType;
            areturn
         4: .line 390
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.type.ScalarTypeJsonList$Varchar
            dup
            aload 0 /* this */
            aload 1 /* valueType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getDocType:(Ljava/lang/reflect/Type;)Lio/ebean/core/type/DocPropertyType;
            iload 2 /* nullable */
            invokespecial io.ebeaninternal.server.type.ScalarTypeJsonList$Varchar.<init>:(Lio/ebean/core/type/DocPropertyType;Z)V
            areturn
        end local 2 // boolean nullable
        end local 1 // java.lang.reflect.Type valueType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    5     1  valueType  Ljava/lang/reflect/Type;
            0    5     2   nullable  Z
    Signature: (Ljava/lang/reflect/Type;Z)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
           Name  Flags
      valueType  
      nullable   

  private java.lang.Class<? extends java.lang.Enum<?>> asEnumClass(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.reflect.Type valueType
         0: .line 394
            aload 1 /* valueType */
            invokestatic io.ebeaninternal.server.type.TypeReflectHelper.asEnumClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.reflect.Type valueType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    1     1  valueType  Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/reflect/Type;)Ljava/lang/Class<+Ljava/lang/Enum<*>;>;
    MethodParameters:
           Name  Flags
      valueType  

  private boolean isEnumType(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.reflect.Type valueType
         0: .line 398
            aload 1 /* valueType */
            invokestatic io.ebeaninternal.server.type.TypeReflectHelper.isEnumType:(Ljava/lang/reflect/Type;)Z
            ireturn
        end local 1 // java.lang.reflect.Type valueType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    1     1  valueType  Ljava/lang/reflect/Type;
    MethodParameters:
           Name  Flags
      valueType  

  public io.ebean.core.type.ScalarType<?> getJsonScalarType(io.ebeaninternal.server.deploy.meta.DeployBeanProperty, int, int);
    descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;II)Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty prop
        start local 2 // int dbType
        start local 3 // int dbLength
         0: .line 403
            aload 1 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.getPropertyType:()Ljava/lang/Class;
            astore 4 /* type */
        start local 4 // java.lang.Class type
         1: .line 404
            aload 1 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.getGenericType:()Ljava/lang/reflect/Type;
            astore 5 /* genericType */
        start local 5 // java.lang.reflect.Type genericType
         2: .line 405
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapperPresent:Z
            ifeq 3
            aload 0 /* this */
            aload 1 /* prop */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.checkJacksonAnnotations:(Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: java.lang.Class java.lang.reflect.Type
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 6 /* hasJacksonAnnotations */
        start local 6 // boolean hasJacksonAnnotations
         5: .line 407
            aload 4 /* type */
            ldc Ljava/util/List;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         6: .line 408
            aload 0 /* this */
            aload 5 /* genericType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getDocType:(Ljava/lang/reflect/Type;)Lio/ebean/core/type/DocPropertyType;
            astore 7 /* docType */
        start local 7 // io.ebean.core.type.DocPropertyType docType
         7: .line 409
            iload 6 /* hasJacksonAnnotations */
            ifne 9
            aload 0 /* this */
            aload 5 /* genericType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.isValueTypeSimple:(Ljava/lang/reflect/Type;)Z
            ifeq 9
         8: .line 410
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.postgres:Z
            iload 2 /* dbType */
            aload 7 /* docType */
            aload 1 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.isNullable:()Z
            invokestatic io.ebeaninternal.server.type.ScalarTypeJsonList.typeFor:(ZILio/ebean/core/type/DocPropertyType;Z)Lio/ebean/core/type/ScalarType;
            areturn
         9: .line 412
      StackMap locals: int io.ebean.core.type.DocPropertyType
      StackMap stack:
            aload 0 /* this */
            aload 1 /* prop */
            iload 2 /* dbType */
            aload 7 /* docType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createJsonObjectMapperType:(Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;ILio/ebean/core/type/DocPropertyType;)Lio/ebean/core/type/ScalarType;
            areturn
        end local 7 // io.ebean.core.type.DocPropertyType docType
        10: .line 415
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            ldc Ljava/util/Set;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 15
        11: .line 416
            aload 0 /* this */
            aload 5 /* genericType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getDocType:(Ljava/lang/reflect/Type;)Lio/ebean/core/type/DocPropertyType;
            astore 7 /* docType */
        start local 7 // io.ebean.core.type.DocPropertyType docType
        12: .line 417
            iload 6 /* hasJacksonAnnotations */
            ifne 14
            aload 0 /* this */
            aload 5 /* genericType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.isValueTypeSimple:(Ljava/lang/reflect/Type;)Z
            ifeq 14
        13: .line 418
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.postgres:Z
            iload 2 /* dbType */
            aload 7 /* docType */
            aload 1 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.isNullable:()Z
            invokestatic io.ebeaninternal.server.type.ScalarTypeJsonSet.typeFor:(ZILio/ebean/core/type/DocPropertyType;Z)Lio/ebean/core/type/ScalarType;
            areturn
        14: .line 420
      StackMap locals: io.ebean.core.type.DocPropertyType
      StackMap stack:
            aload 0 /* this */
            aload 1 /* prop */
            iload 2 /* dbType */
            aload 7 /* docType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createJsonObjectMapperType:(Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;ILio/ebean/core/type/DocPropertyType;)Lio/ebean/core/type/ScalarType;
            areturn
        end local 7 // io.ebean.core.type.DocPropertyType docType
        15: .line 423
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            ldc Ljava/util/Map;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 19
        16: .line 424
            iload 6 /* hasJacksonAnnotations */
            ifne 18
            aload 0 /* this */
            aload 5 /* genericType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.isMapValueTypeObject:(Ljava/lang/reflect/Type;)Z
            ifeq 18
        17: .line 425
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.postgres:Z
            iload 2 /* dbType */
            invokestatic io.ebeaninternal.server.type.ScalarTypeJsonMap.typeFor:(ZI)Lio/ebeaninternal/server/type/ScalarTypeJsonMap;
            areturn
        18: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* prop */
            iload 2 /* dbType */
            getstatic io.ebean.core.type.DocPropertyType.OBJECT:Lio/ebean/core/type/DocPropertyType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createJsonObjectMapperType:(Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;ILio/ebean/core/type/DocPropertyType;)Lio/ebean/core/type/ScalarType;
            areturn
        19: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapperPresent:Z
            ifeq 27
        20: .line 431
            aload 4 /* type */
            ldc Lcom/fasterxml/jackson/databind/JsonNode;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 27
        21: .line 432
            iload 2 /* dbType */
            lookupswitch { // 4
                   12: 22
                 2004: 23
                 2005: 24
                 5002: 25
              default: 26
          }
        22: .line 434
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeVarchar:Lio/ebean/core/type/ScalarType;
            areturn
        23: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeBlob:Lio/ebean/core/type/ScalarType;
            areturn
        24: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeClob:Lio/ebean/core/type/ScalarType;
            areturn
        25: .line 440
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeJsonb:Lio/ebean/core/type/ScalarType;
            areturn
        26: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeJson:Lio/ebean/core/type/ScalarType;
            areturn
        27: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* prop */
            iload 2 /* dbType */
            getstatic io.ebean.core.type.DocPropertyType.OBJECT:Lio/ebean/core/type/DocPropertyType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createJsonObjectMapperType:(Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;ILio/ebean/core/type/DocPropertyType;)Lio/ebean/core/type/ScalarType;
            areturn
        end local 6 // boolean hasJacksonAnnotations
        end local 5 // java.lang.reflect.Type genericType
        end local 4 // java.lang.Class type
        end local 3 // int dbLength
        end local 2 // int dbType
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty prop
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   28     0                   this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   28     1                   prop  Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
            0   28     2                 dbType  I
            0   28     3               dbLength  I
            1   28     4                   type  Ljava/lang/Class<*>;
            2   28     5            genericType  Ljava/lang/reflect/Type;
            5   28     6  hasJacksonAnnotations  Z
            7   10     7                docType  Lio/ebean/core/type/DocPropertyType;
           12   15     7                docType  Lio/ebean/core/type/DocPropertyType;
    Signature: (Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;II)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
          Name  Flags
      prop      
      dbType    
      dbLength  

  private boolean checkJacksonAnnotations(io.ebeaninternal.server.deploy.meta.DeployBeanProperty);
    descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty prop
         0: .line 454
            aload 1 /* prop */
            ldc Lcom/fasterxml/jackson/annotation/JacksonAnnotation;
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.getMetaAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty prop
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    2     1  prop  Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
    MethodParameters:
      Name  Flags
      prop  

  private io.ebean.core.type.DocPropertyType getDocType(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Lio/ebean/core/type/DocPropertyType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.reflect.Type genericType
         0: .line 458
            aload 1 /* genericType */
            instanceof java.lang.Class
            ifeq 4
         1: .line 459
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.typeMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* genericType */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            astore 2 /* found */
        start local 2 // io.ebean.core.type.ScalarType found
         2: .line 460
            aload 2 /* found */
            ifnull 4
         3: .line 461
            aload 2 /* found */
            invokeinterface io.ebean.core.type.ScalarType.getDocType:()Lio/ebean/core/type/DocPropertyType;
            areturn
        end local 2 // io.ebean.core.type.ScalarType found
         4: .line 464
      StackMap locals:
      StackMap stack:
            getstatic io.ebean.core.type.DocPropertyType.OBJECT:Lio/ebean/core/type/DocPropertyType;
            areturn
        end local 1 // java.lang.reflect.Type genericType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    5     1  genericType  Ljava/lang/reflect/Type;
            2    4     2        found  Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
             Name  Flags
      genericType  

  private boolean isValueTypeSimple(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.reflect.Type collectionType
         0: .line 471
            aload 1 /* collectionType */
            invokestatic io.ebeaninternal.server.type.TypeReflectHelper.getValueType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
            astore 2 /* typeArg */
        start local 2 // java.lang.reflect.Type typeArg
         1: .line 472
            ldc Ljava/lang/String;
            aload 2 /* typeArg */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 2
            ldc Ljava/lang/Long;
            aload 2 /* typeArg */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 2
            iconst_0
            ireturn
      StackMap locals: java.lang.reflect.Type
      StackMap stack:
         2: iconst_1
            ireturn
        end local 2 // java.lang.reflect.Type typeArg
        end local 1 // java.lang.reflect.Type collectionType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    3     1  collectionType  Ljava/lang/reflect/Type;
            1    3     2         typeArg  Ljava/lang/reflect/Type;
    MethodParameters:
                Name  Flags
      collectionType  

  private java.lang.reflect.Type getValueType(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.reflect.Type collectionType
         0: .line 476
            aload 1 /* collectionType */
            invokestatic io.ebeaninternal.server.type.TypeReflectHelper.getValueType:(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
            areturn
        end local 1 // java.lang.reflect.Type collectionType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    1     1  collectionType  Ljava/lang/reflect/Type;
    MethodParameters:
                Name  Flags
      collectionType  

  private boolean isMapValueTypeObject(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.reflect.Type genericType
         0: .line 483
            aload 1 /* genericType */
            checkcast java.lang.reflect.ParameterizedType
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            astore 2 /* typeArgs */
        start local 2 // java.lang.reflect.Type[] typeArgs
         1: .line 484
            ldc Ljava/lang/Object;
            aload 2 /* typeArgs */
            iconst_1
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 2
            ldc "?"
            aload 2 /* typeArgs */
            iconst_1
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            iconst_0
            ireturn
      StackMap locals: java.lang.reflect.Type[]
      StackMap stack:
         2: iconst_1
            ireturn
        end local 2 // java.lang.reflect.Type[] typeArgs
        end local 1 // java.lang.reflect.Type genericType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    3     1  genericType  Ljava/lang/reflect/Type;
            1    3     2     typeArgs  [Ljava/lang/reflect/Type;
    MethodParameters:
             Name  Flags
      genericType  

  private io.ebean.core.type.ScalarType<?> createJsonObjectMapperType(io.ebeaninternal.server.deploy.meta.DeployBeanProperty, int, io.ebean.core.type.DocPropertyType);
    descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;ILio/ebean/core/type/DocPropertyType;)Lio/ebean/core/type/ScalarType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty prop
        start local 2 // int dbType
        start local 3 // io.ebean.core.type.DocPropertyType docType
         0: .line 488
            aload 1 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.getPropertyType:()Ljava/lang/Class;
            astore 4 /* type */
        start local 4 // java.lang.Class type
         1: .line 489
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapper:Ljava/lang/Object;
            ifnonnull 3
         2: .line 490
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Type ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] unsupported for @DbJson mapping - Jackson ObjectMapper not present"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 492
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.postgres:Z
            aload 1 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.getJacksonField:()Ljava/lang/Object;
            checkcast com.fasterxml.jackson.databind.introspect.AnnotatedField
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapper:Ljava/lang/Object;
            checkcast com.fasterxml.jackson.databind.ObjectMapper
            iload 2 /* dbType */
            aload 3 /* docType */
            invokestatic io.ebeaninternal.server.type.ScalarTypeJsonObjectMapper.createTypeFor:(ZLcom/fasterxml/jackson/databind/introspect/AnnotatedField;Lcom/fasterxml/jackson/databind/ObjectMapper;ILio/ebean/core/type/DocPropertyType;)Lio/ebean/core/type/ScalarType;
            areturn
        end local 4 // java.lang.Class type
        end local 3 // io.ebean.core.type.DocPropertyType docType
        end local 2 // int dbType
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty prop
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    4     1     prop  Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
            0    4     2   dbType  I
            0    4     3  docType  Lio/ebean/core/type/DocPropertyType;
            1    4     4     type  Ljava/lang/Class<*>;
    Signature: (Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;ILio/ebean/core/type/DocPropertyType;)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
         Name  Flags
      prop     
      dbType   
      docType  

  public io.ebean.core.type.ScalarType<?> getScalarType(java.lang.Class<?>, int);
    descriptor: (Ljava/lang/Class;I)Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Class type
        start local 2 // int jdbcType
         0: .line 504
            ldc Ljava/io/File;
            aload 1 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 505
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.fileType:Lio/ebeaninternal/server/type/ScalarTypeFile;
            areturn
         2: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* jdbcType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getLobTypes:(I)Lio/ebean/core/type/ScalarType;
            astore 3 /* scalarType */
        start local 3 // io.ebean.core.type.ScalarType scalarType
         3: .line 512
            aload 3 /* scalarType */
            ifnull 5
         4: .line 514
            aload 3 /* scalarType */
            areturn
         5: .line 517
      StackMap locals: io.ebean.core.type.ScalarType
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.typeMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* type */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            astore 3 /* scalarType */
         6: .line 518
            aload 3 /* scalarType */
            ifnull 9
         7: .line 519
            iload 2 /* jdbcType */
            ifeq 8
            aload 3 /* scalarType */
            invokeinterface io.ebean.core.type.ScalarType.getJdbcType:()I
            iload 2 /* jdbcType */
            if_icmpne 9
         8: .line 521
      StackMap locals:
      StackMap stack:
            aload 3 /* scalarType */
            areturn
         9: .line 525
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/util/Date;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 526
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.extraTypeFactory:Lio/ebeaninternal/server/type/DefaultTypeFactory;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDate:Lio/ebean/config/JsonConfig$Date;
            iload 2 /* jdbcType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeFactory.createUtilDate:(Lio/ebean/config/JsonConfig$DateTime;Lio/ebean/config/JsonConfig$Date;I)Lio/ebean/core/type/ScalarType;
            areturn
        11: .line 529
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/util/Calendar;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 530
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.extraTypeFactory:Lio/ebeaninternal/server/type/DefaultTypeFactory;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
            iload 2 /* jdbcType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeFactory.createCalendar:(Lio/ebean/config/JsonConfig$DateTime;I)Lio/ebean/core/type/ScalarType;
            areturn
        13: .line 533
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unmatched ScalarType for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " jdbcType:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* jdbcType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // io.ebean.core.type.ScalarType scalarType
        end local 2 // int jdbcType
        end local 1 // java.lang.Class type
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   14     1        type  Ljava/lang/Class<*>;
            0   14     2    jdbcType  I
            3   14     3  scalarType  Lio/ebean/core/type/ScalarType<*>;
    Signature: (Ljava/lang/Class<*>;I)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
          Name  Flags
      type      
      jdbcType  

  private io.ebean.core.type.ScalarType<?> getLobTypes(int);
    descriptor: (I)Lio/ebean/core/type/ScalarType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // int jdbcType
         0: .line 544
            aload 0 /* this */
            iload 1 /* jdbcType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getScalarType:(I)Lio/ebean/core/type/ScalarType;
            areturn
        end local 1 // int jdbcType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    1     1  jdbcType  I
    Signature: (I)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
          Name  Flags
      jdbcType  

  public java.lang.Object convert(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Object value
        start local 2 // int toJdbcType
         0: .line 554
            aload 1 /* value */
            ifnonnull 2
         1: .line 555
            aconst_null
            areturn
         2: .line 557
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            iload 2 /* toJdbcType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            astore 3 /* type */
        start local 3 // io.ebean.core.type.ScalarType type
         3: .line 558
            aload 3 /* type */
            ifnull 5
         4: .line 559
            aload 3 /* type */
            aload 1 /* value */
            invokeinterface io.ebean.core.type.ScalarType.toJdbcType:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         5: .line 561
      StackMap locals: io.ebean.core.type.ScalarType
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 3 // io.ebean.core.type.ScalarType type
        end local 2 // int toJdbcType
        end local 1 // java.lang.Object value
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    6     1       value  Ljava/lang/Object;
            0    6     2  toJdbcType  I
            3    6     3        type  Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
            Name  Flags
      value       
      toJdbcType  

  boolean isIntegerType(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.String s
         0: .line 565
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.isLeadingZeros:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 566
            iconst_0
            ireturn
         2: .line 569
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            pop
         3: .line 570
            iconst_1
            ireturn
         4: .line 571
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         5: .line 572
            iconst_0
            ireturn
        end local 1 // java.lang.String s
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    6     1     s  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      s     

  private boolean isLeadingZeros(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.String s
         0: .line 580
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 1
            aload 1 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 48
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String s
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private io.ebeaninternal.server.type.ScalarTypeEnum<?> createEnumScalarType2(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lio/ebeaninternal/server/type/ScalarTypeEnum;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Class enumType
         0: .line 589
            iconst_1
            istore 2 /* integerType */
        start local 2 // boolean integerType
         1: .line 590
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 3 /* nameValueMap */
        start local 3 // java.util.Map nameValueMap
         2: .line 591
            aload 1 /* enumType */
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            astore 4 /* fields */
        start local 4 // java.lang.reflect.Field[] fields
         3: .line 592
            aload 4 /* fields */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 11
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class int java.util.Map java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
      StackMap stack:
         4: aload 8
            iload 6
            aaload
            astore 5 /* field */
        start local 5 // java.lang.reflect.Field field
         5: .line 593
            aload 5 /* field */
            ldc Lio/ebean/annotation/EnumValue;
            invokestatic io.ebean.util.AnnotationUtil.get:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast io.ebean.annotation.EnumValue
            astore 9 /* enumValue */
        start local 9 // io.ebean.annotation.EnumValue enumValue
         6: .line 594
            aload 9 /* enumValue */
            ifnull 10
         7: .line 595
            aload 3 /* nameValueMap */
            aload 5 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            aload 9 /* enumValue */
            invokeinterface io.ebean.annotation.EnumValue.value:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 596
            iload 2 /* integerType */
            ifeq 10
            aload 0 /* this */
            aload 9 /* enumValue */
            invokeinterface io.ebean.annotation.EnumValue.value:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.isIntegerType:(Ljava/lang/String;)Z
            ifne 10
         9: .line 598
            iconst_0
            istore 2 /* integerType */
        end local 9 // io.ebean.annotation.EnumValue enumValue
        end local 5 // java.lang.reflect.Field field
        10: .line 592
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        11: iload 6
            iload 7
            if_icmplt 4
        12: .line 602
            aload 3 /* nameValueMap */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 14
        13: .line 604
            aconst_null
            areturn
        14: .line 606
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class int java.util.Map java.lang.reflect.Field[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* enumType */
            aload 3 /* nameValueMap */
            iload 2 /* integerType */
            iconst_0
            iconst_1
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createEnumScalarType:(Ljava/lang/Class;Ljava/util/Map;ZIZ)Lio/ebeaninternal/server/type/ScalarTypeEnum;
            areturn
        end local 4 // java.lang.reflect.Field[] fields
        end local 3 // java.util.Map nameValueMap
        end local 2 // boolean integerType
        end local 1 // java.lang.Class enumType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   15     1      enumType  Ljava/lang/Class<*>;
            1   15     2   integerType  Z
            2   15     3  nameValueMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            3   15     4        fields  [Ljava/lang/reflect/Field;
            5   10     5         field  Ljava/lang/reflect/Field;
            6   10     9     enumValue  Lio/ebean/annotation/EnumValue;
    Signature: (Ljava/lang/Class<*>;)Lio/ebeaninternal/server/type/ScalarTypeEnum<*>;
    MethodParameters:
          Name  Flags
      enumType  

  public io.ebean.core.type.ScalarType<?> createEnumScalarType(java.lang.Class<? extends java.lang.Enum<?>>, javax.persistence.EnumType);
    descriptor: (Ljava/lang/Class;Ljavax/persistence/EnumType;)Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Class enumType
        start local 2 // javax.persistence.EnumType type
         0: .line 619
            aload 0 /* this */
            aload 1 /* enumType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getScalarType:(Ljava/lang/Class;)Lio/ebean/core/type/ScalarType;
            astore 3 /* scalarType */
        start local 3 // io.ebean.core.type.ScalarType scalarType
         1: .line 620
            aload 3 /* scalarType */
            instanceof io.ebeaninternal.server.type.ScalarTypeWrapper
            ifeq 3
         2: .line 622
            aload 3 /* scalarType */
            areturn
         3: .line 624
      StackMap locals: io.ebean.core.type.ScalarType
      StackMap stack:
            aload 3 /* scalarType */
            checkcast io.ebeaninternal.server.type.ScalarTypeEnum
            astore 4 /* scalarEnum */
        start local 4 // io.ebeaninternal.server.type.ScalarTypeEnum scalarEnum
         4: .line 625
            aload 4 /* scalarEnum */
            ifnull 8
            aload 4 /* scalarEnum */
            aload 2 /* type */
            invokeinterface io.ebeaninternal.server.type.ScalarTypeEnum.isOverrideBy:(Ljavax/persistence/EnumType;)Z
            ifne 8
         5: .line 626
            aload 2 /* type */
            ifnull 7
            aload 4 /* scalarEnum */
            aload 2 /* type */
            invokeinterface io.ebeaninternal.server.type.ScalarTypeEnum.isCompatible:(Ljavax/persistence/EnumType;)Z
            ifne 7
         6: .line 627
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Error mapping Enum type:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* enumType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " It is mapped using 2 different modes when only one is supported (ORDINAL, STRING or an Ebean mapping)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 629
      StackMap locals: io.ebeaninternal.server.type.ScalarTypeEnum
      StackMap stack:
            aload 4 /* scalarEnum */
            areturn
         8: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* enumType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createEnumScalarTypePerExtentions:(Ljava/lang/Class;)Lio/ebeaninternal/server/type/ScalarTypeEnum;
            astore 4 /* scalarEnum */
         9: .line 632
            aload 4 /* scalarEnum */
            ifnonnull 11
        10: .line 634
            aload 0 /* this */
            aload 1 /* enumType */
            aload 2 /* type */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createEnumScalarTypePerSpec:(Ljava/lang/Class;Ljavax/persistence/EnumType;)Lio/ebeaninternal/server/type/ScalarTypeEnum;
            astore 4 /* scalarEnum */
        11: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* scalarEnum */
            aload 1 /* enumType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addEnumType:(Lio/ebean/core/type/ScalarType;Ljava/lang/Class;)V
        12: .line 637
            aload 4 /* scalarEnum */
            areturn
        end local 4 // io.ebeaninternal.server.type.ScalarTypeEnum scalarEnum
        end local 3 // io.ebean.core.type.ScalarType scalarType
        end local 2 // javax.persistence.EnumType type
        end local 1 // java.lang.Class enumType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   13     1    enumType  Ljava/lang/Class<+Ljava/lang/Enum<*>;>;
            0   13     2        type  Ljavax/persistence/EnumType;
            1   13     3  scalarType  Lio/ebean/core/type/ScalarType<*>;
            4   13     4  scalarEnum  Lio/ebeaninternal/server/type/ScalarTypeEnum<*>;
    Signature: (Ljava/lang/Class<+Ljava/lang/Enum<*>;>;Ljavax/persistence/EnumType;)Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
          Name  Flags
      enumType  
      type      

  private io.ebeaninternal.server.type.ScalarTypeEnum<?> createEnumScalarTypePerSpec(java.lang.Class<?>, javax.persistence.EnumType);
    descriptor: (Ljava/lang/Class;Ljavax/persistence/EnumType;)Lio/ebeaninternal/server/type/ScalarTypeEnum;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Class enumType
        start local 2 // javax.persistence.EnumType type
         0: .line 641
            aload 2 /* type */
            ifnonnull 4
         1: .line 642
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.defaultEnumType:Ljavax/persistence/EnumType;
            getstatic javax.persistence.EnumType.ORDINAL:Ljavax/persistence/EnumType;
            if_acmpne 3
         2: .line 643
            new io.ebeaninternal.server.type.ScalarTypeEnumStandard$OrdinalEnum
            dup
            aload 1 /* enumType */
            invokespecial io.ebeaninternal.server.type.ScalarTypeEnumStandard$OrdinalEnum.<init>:(Ljava/lang/Class;)V
            areturn
         3: .line 645
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum
            dup
            aload 1 /* enumType */
            invokespecial io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum.<init>:(Ljava/lang/Class;)V
            areturn
         4: .line 647
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            getstatic javax.persistence.EnumType.ORDINAL:Ljavax/persistence/EnumType;
            if_acmpne 6
         5: .line 648
            new io.ebeaninternal.server.type.ScalarTypeEnumStandard$OrdinalEnum
            dup
            aload 1 /* enumType */
            invokespecial io.ebeaninternal.server.type.ScalarTypeEnumStandard$OrdinalEnum.<init>:(Ljava/lang/Class;)V
            areturn
         6: .line 650
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum
            dup
            aload 1 /* enumType */
            invokespecial io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum.<init>:(Ljava/lang/Class;)V
            areturn
        end local 2 // javax.persistence.EnumType type
        end local 1 // java.lang.Class enumType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    7     1  enumType  Ljava/lang/Class<*>;
            0    7     2      type  Ljavax/persistence/EnumType;
    Signature: (Ljava/lang/Class<*>;Ljavax/persistence/EnumType;)Lio/ebeaninternal/server/type/ScalarTypeEnum<*>;
    MethodParameters:
          Name  Flags
      enumType  
      type      

  private io.ebeaninternal.server.type.ScalarTypeEnum<?> createEnumScalarTypePerExtentions(java.lang.Class<? extends java.lang.Enum<?>>);
    descriptor: (Ljava/lang/Class;)Lio/ebeaninternal/server/type/ScalarTypeEnum;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Class enumType
         0: .line 655
            aload 1 /* enumType */
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            astore 2 /* methods */
        start local 2 // java.lang.reflect.Method[] methods
         1: .line 656
            aload 2 /* methods */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* method */
        start local 3 // java.lang.reflect.Method method
         3: .line 657
            aload 3 /* method */
            ldc Lio/ebean/annotation/DbEnumValue;
            invokestatic io.ebean.util.AnnotationUtil.get:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast io.ebean.annotation.DbEnumValue
            astore 7 /* dbValue */
        start local 7 // io.ebean.annotation.DbEnumValue dbValue
         4: .line 658
            aload 7 /* dbValue */
            ifnull 9
         5: .line 659
            getstatic io.ebean.annotation.DbEnumType.INTEGER:Lio/ebean/annotation/DbEnumType;
            aload 7 /* dbValue */
            invokeinterface io.ebean.annotation.DbEnumValue.storage:()Lio/ebean/annotation/DbEnumType;
            if_acmpne 6
            iconst_1
            goto 7
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[] io.ebean.annotation.DbEnumValue
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 8 /* integerValues */
        start local 8 // boolean integerValues
         8: .line 660
            aload 0 /* this */
            aload 1 /* enumType */
            aload 3 /* method */
            iload 8 /* integerValues */
            aload 7 /* dbValue */
            invokeinterface io.ebean.annotation.DbEnumValue.length:()I
            aload 7 /* dbValue */
            invokeinterface io.ebean.annotation.DbEnumValue.withConstraint:()Z
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createEnumScalarTypeDbValue:(Ljava/lang/Class;Ljava/lang/reflect/Method;ZIZ)Lio/ebeaninternal/server/type/ScalarTypeEnum;
            areturn
        end local 8 // boolean integerValues
        end local 7 // io.ebean.annotation.DbEnumValue dbValue
        end local 3 // java.lang.reflect.Method method
         9: .line 656
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 2
        11: .line 664
            aload 0 /* this */
            aload 1 /* enumType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createEnumScalarType2:(Ljava/lang/Class;)Lio/ebeaninternal/server/type/ScalarTypeEnum;
            areturn
        end local 2 // java.lang.reflect.Method[] methods
        end local 1 // java.lang.Class enumType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   12     1       enumType  Ljava/lang/Class<+Ljava/lang/Enum<*>;>;
            1   12     2        methods  [Ljava/lang/reflect/Method;
            3    9     3         method  Ljava/lang/reflect/Method;
            4    9     7        dbValue  Lio/ebean/annotation/DbEnumValue;
            8    9     8  integerValues  Z
    Signature: (Ljava/lang/Class<+Ljava/lang/Enum<*>;>;)Lio/ebeaninternal/server/type/ScalarTypeEnum<*>;
    MethodParameters:
          Name  Flags
      enumType  

  private io.ebeaninternal.server.type.ScalarTypeEnum<?> createEnumScalarTypeDbValue(java.lang.Class<? extends java.lang.Enum<?>>, java.lang.reflect.Method, boolean, int, boolean);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;ZIZ)Lio/ebeaninternal/server/type/ScalarTypeEnum;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=6
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Class enumType
        start local 2 // java.lang.reflect.Method method
        start local 3 // boolean integerType
        start local 4 // int length
        start local 5 // boolean withConstraint
         0: .line 674
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 6 /* nameValueMap */
        start local 6 // java.util.Map nameValueMap
         1: .line 675
            aload 1 /* enumType */
            invokevirtual java.lang.Class.getEnumConstants:()[Ljava/lang/Object;
            checkcast java.lang.Enum[]
            astore 7 /* enumConstants */
        start local 7 // java.lang.Enum[] enumConstants
         2: .line 676
            aload 7 /* enumConstants */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 10
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class java.lang.reflect.Method int int int java.util.Map java.lang.Enum[] top int int java.lang.Enum[]
      StackMap stack:
         3: aload 11
            iload 9
            aaload
            astore 8 /* enumConstant */
        start local 8 // java.lang.Enum enumConstant
         4: .line 678
            aload 2 /* method */
            aload 8 /* enumConstant */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 12 /* value */
        start local 12 // java.lang.Object value
         5: .line 679
            aload 6 /* nameValueMap */
            aload 8 /* enumConstant */
            invokevirtual java.lang.Enum.name:()Ljava/lang/String;
            aload 12 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // java.lang.Object value
         6: .line 680
            goto 9
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class java.lang.reflect.Method int int int java.util.Map java.lang.Enum[] java.lang.Enum int int java.lang.Enum[]
      StackMap stack: java.lang.Exception
         7: astore 12 /* e */
        start local 12 // java.lang.Exception e
         8: .line 681
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Error trying to invoke DbEnumValue method on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* enumConstant */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 12 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.lang.Exception e
        end local 8 // java.lang.Enum enumConstant
         9: .line 676
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class java.lang.reflect.Method int int int java.util.Map java.lang.Enum[] top int int java.lang.Enum[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        10: iload 9
            iload 10
            if_icmplt 3
        11: .line 684
            aload 6 /* nameValueMap */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 13
        12: .line 686
            aconst_null
            areturn
        13: .line 688
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class java.lang.reflect.Method int int int java.util.Map java.lang.Enum[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* enumType */
            aload 6 /* nameValueMap */
            iload 3 /* integerType */
            iload 4 /* length */
            iload 5 /* withConstraint */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.createEnumScalarType:(Ljava/lang/Class;Ljava/util/Map;ZIZ)Lio/ebeaninternal/server/type/ScalarTypeEnum;
            areturn
        end local 7 // java.lang.Enum[] enumConstants
        end local 6 // java.util.Map nameValueMap
        end local 5 // boolean withConstraint
        end local 4 // int length
        end local 3 // boolean integerType
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.lang.Class enumType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   14     1        enumType  Ljava/lang/Class<+Ljava/lang/Enum<*>;>;
            0   14     2          method  Ljava/lang/reflect/Method;
            0   14     3     integerType  Z
            0   14     4          length  I
            0   14     5  withConstraint  Z
            1   14     6    nameValueMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2   14     7   enumConstants  [Ljava/lang/Enum;
            4    9     8    enumConstant  Ljava/lang/Enum<*>;
            5    6    12           value  Ljava/lang/Object;
            8    9    12               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.Exception
    Signature: (Ljava/lang/Class<+Ljava/lang/Enum<*>;>;Ljava/lang/reflect/Method;ZIZ)Lio/ebeaninternal/server/type/ScalarTypeEnum<*>;
    MethodParameters:
                Name  Flags
      enumType        
      method          
      integerType     
      length          
      withConstraint  

  private io.ebeaninternal.server.type.ScalarTypeEnum<?> createEnumScalarType(java.lang.Class, java.util.Map<java.lang.String, java.lang.String>, boolean, int, boolean);
    descriptor: (Ljava/lang/Class;Ljava/util/Map;ZIZ)Lio/ebeaninternal/server/type/ScalarTypeEnum;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=6
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Class enumType
        start local 2 // java.util.Map nameValueMap
        start local 3 // boolean integerType
        start local 4 // int dbColumnLength
        start local 5 // boolean withConstraint
         0: .line 697
            iload 3 /* integerType */
            invokestatic io.ebeaninternal.server.type.EnumToDbValueMap.create:(Z)Lio/ebeaninternal/server/type/EnumToDbValueMap;
            astore 6 /* beanDbMap */
        start local 6 // io.ebeaninternal.server.type.EnumToDbValueMap beanDbMap
         1: .line 698
            iconst_0
            istore 7 /* maxValueLen */
        start local 7 // int maxValueLen
         2: .line 699
            aload 2 /* nameValueMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 9
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class java.util.Map int int int io.ebeaninternal.server.type.EnumToDbValueMap int top java.util.Iterator
      StackMap stack:
         3: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 8 /* entry */
        start local 8 // java.util.Map$Entry entry
         4: .line 700
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* name */
        start local 10 // java.lang.String name
         5: .line 701
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* value */
        start local 11 // java.lang.String value
         6: .line 702
            iload 7 /* maxValueLen */
            aload 11 /* value */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.max:(II)I
            istore 7 /* maxValueLen */
         7: .line 703
            aload 1 /* enumType */
            aload 10 /* name */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            astore 12 /* enumValue */
        start local 12 // java.lang.Object enumValue
         8: .line 704
            aload 6 /* beanDbMap */
            aload 12 /* enumValue */
            aload 11 /* value */
            aload 10 /* name */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.type.EnumToDbValueMap.add:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Lio/ebeaninternal/server/type/EnumToDbValueMap;
            pop
        end local 12 // java.lang.Object enumValue
        end local 11 // java.lang.String value
        end local 10 // java.lang.String name
        end local 8 // java.util.Map$Entry entry
         9: .line 699
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 706
            iload 4 /* dbColumnLength */
            ifne 12
            iload 3 /* integerType */
            ifne 12
        11: .line 707
            iload 7 /* maxValueLen */
            istore 4 /* dbColumnLength */
        12: .line 709
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class java.util.Map int int int io.ebeaninternal.server.type.EnumToDbValueMap int
      StackMap stack:
            new io.ebeaninternal.server.type.ScalarTypeEnumWithMapping
            dup
            aload 6 /* beanDbMap */
            aload 1 /* enumType */
            iload 4 /* dbColumnLength */
            iload 5 /* withConstraint */
            invokespecial io.ebeaninternal.server.type.ScalarTypeEnumWithMapping.<init>:(Lio/ebeaninternal/server/type/EnumToDbValueMap;Ljava/lang/Class;IZ)V
            areturn
        end local 7 // int maxValueLen
        end local 6 // io.ebeaninternal.server.type.EnumToDbValueMap beanDbMap
        end local 5 // boolean withConstraint
        end local 4 // int dbColumnLength
        end local 3 // boolean integerType
        end local 2 // java.util.Map nameValueMap
        end local 1 // java.lang.Class enumType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   13     1        enumType  Ljava/lang/Class;
            0   13     2    nameValueMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   13     3     integerType  Z
            0   13     4  dbColumnLength  I
            0   13     5  withConstraint  Z
            1   13     6       beanDbMap  Lio/ebeaninternal/server/type/EnumToDbValueMap<*>;
            2   13     7     maxValueLen  I
            4    9     8           entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
            5    9    10            name  Ljava/lang/String;
            6    9    11           value  Ljava/lang/String;
            8    9    12       enumValue  Ljava/lang/Object;
    Signature: (Ljava/lang/Class;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;ZIZ)Lio/ebeaninternal/server/type/ScalarTypeEnum<*>;
    MethodParameters:
                Name  Flags
      enumType        
      nameValueMap    
      integerType     
      dbColumnLength  
      withConstraint  

  private void initialiseCustomScalarTypes(io.ebeaninternal.server.core.bootup.BootupClasses);
    descriptor: (Lio/ebeaninternal/server/core/bootup/BootupClasses;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebeaninternal.server.core.bootup.BootupClasses bootupClasses
         0: .line 721
            aload 1 /* bootupClasses */
            invokevirtual io.ebeaninternal.server.core.bootup.BootupClasses.getScalarTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 15
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 2 /* cls */
        start local 2 // java.lang.Class cls
         2: .line 724
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapper:Ljava/lang/Object;
            ifnonnull 5
         3: .line 725
            aload 2 /* cls */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            astore 4 /* scalarType */
        start local 4 // io.ebean.core.type.ScalarType scalarType
         4: .line 726
            goto 10
        end local 4 // io.ebean.core.type.ScalarType scalarType
         5: .line 729
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses java.lang.Class java.util.Iterator
      StackMap stack:
            aload 2 /* cls */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lcom/fasterxml/jackson/databind/ObjectMapper;
            aastore
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* constructor */
        start local 5 // java.lang.reflect.Constructor constructor
         6: .line 730
            aload 5 /* constructor */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapper:Ljava/lang/Object;
            checkcast com.fasterxml.jackson.databind.ObjectMapper
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            astore 4 /* scalarType */
        end local 5 // java.lang.reflect.Constructor constructor
        start local 4 // io.ebean.core.type.ScalarType scalarType
         7: .line 731
            goto 10
        end local 4 // io.ebean.core.type.ScalarType scalarType
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
         8: pop
         9: .line 732
            aload 2 /* cls */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            astore 4 /* scalarType */
        start local 4 // io.ebean.core.type.ScalarType scalarType
        10: .line 735
      StackMap locals: io.ebean.core.type.ScalarType
      StackMap stack:
            aload 0 /* this */
            aload 4 /* scalarType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addCustomType:(Lio/ebean/core/type/ScalarType;)V
        end local 4 // io.ebean.core.type.ScalarType scalarType
        11: .line 736
            goto 15
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses java.lang.Class java.util.Iterator
      StackMap stack: java.lang.Exception
        12: astore 4 /* e */
        start local 4 // java.lang.Exception e
        13: .line 737
            new java.lang.StringBuilder
            dup
            ldc "Error loading ScalarType ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* cls */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* msg */
        start local 5 // java.lang.String msg
        14: .line 738
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            aload 5 /* msg */
            aload 4 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // java.lang.String msg
        end local 4 // java.lang.Exception e
        end local 2 // java.lang.Class cls
        15: .line 721
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        16: .line 741
            return
        end local 1 // io.ebeaninternal.server.core.bootup.BootupClasses bootupClasses
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   17     1  bootupClasses  Lio/ebeaninternal/server/core/bootup/BootupClasses;
            2   15     2            cls  Ljava/lang/Class<+Lio/ebean/core/type/ScalarType<*>;>;
            4    5     4     scalarType  Lio/ebean/core/type/ScalarType<*>;
            7    8     4     scalarType  Lio/ebean/core/type/ScalarType<*>;
           10   11     4     scalarType  Lio/ebean/core/type/ScalarType<*>;
            6    7     5    constructor  Ljava/lang/reflect/Constructor<+Lio/ebean/core/type/ScalarType<*>;>;
           13   15     4              e  Ljava/lang/Exception;
           14   15     5            msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.NoSuchMethodException
           2    11      12  Class java.lang.Exception
    MethodParameters:
               Name  Flags
      bootupClasses  

  private void addCustomType(io.ebean.core.type.ScalarType<?>);
    descriptor: (Lio/ebean/core/type/ScalarType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.core.type.ScalarType scalarType
         0: .line 744
            aload 0 /* this */
            aload 1 /* scalarType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.add:(Lio/ebean/core/type/ScalarType;)V
         1: .line 745
            return
        end local 1 // io.ebean.core.type.ScalarType scalarType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    2     1  scalarType  Lio/ebean/core/type/ScalarType<*>;
    Signature: (Lio/ebean/core/type/ScalarType<*>;)V
    MethodParameters:
            Name  Flags
      scalarType  

  private java.lang.Object initObjectMapper(io.ebean.config.DatabaseConfig);
    descriptor: (Lio/ebean/config/DatabaseConfig;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.config.DatabaseConfig config
         0: .line 748
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getObjectMapper:()Ljava/lang/Object;
            astore 2 /* objectMapper */
        start local 2 // java.lang.Object objectMapper
         1: .line 749
            aload 2 /* objectMapper */
            ifnonnull 4
         2: .line 750
            new com.fasterxml.jackson.databind.ObjectMapper
            dup
            invokespecial com.fasterxml.jackson.databind.ObjectMapper.<init>:()V
            astore 2 /* objectMapper */
         3: .line 751
            aload 1 /* config */
            aload 2 /* objectMapper */
            invokevirtual io.ebean.config.DatabaseConfig.setObjectMapper:(Ljava/lang/Object;)V
         4: .line 753
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* objectMapper */
            areturn
        end local 2 // java.lang.Object objectMapper
        end local 1 // io.ebean.config.DatabaseConfig config
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    5     1        config  Lio/ebean/config/DatabaseConfig;
            1    5     2  objectMapper  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      config  

  private void initialiseScalarConverters(io.ebeaninternal.server.core.bootup.BootupClasses);
    descriptor: (Lio/ebeaninternal/server/core/bootup/BootupClasses;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebeaninternal.server.core.bootup.BootupClasses bootupClasses
         0: .line 758
            aload 1 /* bootupClasses */
            invokevirtual io.ebeaninternal.server.core.bootup.BootupClasses.getScalarConverters:()Ljava/util/List;
            astore 2 /* foundTypes */
        start local 2 // java.util.List foundTypes
         1: .line 759
            aload 2 /* foundTypes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 3 /* foundType */
        start local 3 // java.lang.Class foundType
         3: .line 761
            aload 3 /* foundType */
            ldc Lio/ebean/config/ScalarTypeConverter;
            invokestatic io.ebeaninternal.server.type.TypeReflectHelper.getParams:(Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/Class;
            astore 5 /* paramTypes */
        start local 5 // java.lang.Class[] paramTypes
         4: .line 762
            aload 5 /* paramTypes */
            arraylength
            iconst_2
            if_icmpeq 6
         5: .line 763
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected 2 generics paramtypes but got: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* paramTypes */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 765
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses java.util.List java.lang.Class java.util.Iterator java.lang.Class[]
      StackMap stack:
            aload 5 /* paramTypes */
            iconst_0
            aaload
            astore 6 /* logicalType */
        start local 6 // java.lang.Class logicalType
         7: .line 766
            aload 5 /* paramTypes */
            iconst_1
            aaload
            astore 7 /* persistType */
        start local 7 // java.lang.Class persistType
         8: .line 767
            aload 0 /* this */
            aload 7 /* persistType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getScalarType:(Ljava/lang/Class;)Lio/ebean/core/type/ScalarType;
            astore 8 /* wrappedType */
        start local 8 // io.ebean.core.type.ScalarType wrappedType
         9: .line 768
            aload 8 /* wrappedType */
            ifnonnull 11
        10: .line 769
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find ScalarType for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* paramTypes */
            iconst_1
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 771
      StackMap locals: java.lang.Class java.lang.Class io.ebean.core.type.ScalarType
      StackMap stack:
            aload 3 /* foundType */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast io.ebean.config.ScalarTypeConverter
            astore 9 /* converter */
        start local 9 // io.ebean.config.ScalarTypeConverter converter
        12: .line 772
            new io.ebeaninternal.server.type.ScalarTypeWrapper
            dup
            aload 6 /* logicalType */
            aload 8 /* wrappedType */
            aload 9 /* converter */
            invokespecial io.ebeaninternal.server.type.ScalarTypeWrapper.<init>:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;Lio/ebean/config/ScalarTypeConverter;)V
            astore 10 /* stw */
        start local 10 // io.ebeaninternal.server.type.ScalarTypeWrapper stw
        13: .line 773
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            ldc "Register ScalarTypeWrapper from {} -> {} using:{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* logicalType */
            aastore
            dup
            iconst_1
            aload 7 /* persistType */
            aastore
            dup
            iconst_2
            aload 3 /* foundType */
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        14: .line 774
            aload 0 /* this */
            aload 10 /* stw */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.add:(Lio/ebean/core/type/ScalarType;)V
        end local 10 // io.ebeaninternal.server.type.ScalarTypeWrapper stw
        end local 9 // io.ebean.config.ScalarTypeConverter converter
        end local 8 // io.ebean.core.type.ScalarType wrappedType
        end local 7 // java.lang.Class persistType
        end local 6 // java.lang.Class logicalType
        end local 5 // java.lang.Class[] paramTypes
        15: .line 775
            goto 18
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses java.util.List java.lang.Class java.util.Iterator
      StackMap stack: java.lang.Exception
        16: astore 5 /* e */
        start local 5 // java.lang.Exception e
        17: .line 776
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Error registering ScalarTypeConverter ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* foundType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Exception e
        end local 3 // java.lang.Class foundType
        18: .line 759
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        19: .line 779
            return
        end local 2 // java.util.List foundTypes
        end local 1 // io.ebeaninternal.server.core.bootup.BootupClasses bootupClasses
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   20     1  bootupClasses  Lio/ebeaninternal/server/core/bootup/BootupClasses;
            1   20     2     foundTypes  Ljava/util/List<Ljava/lang/Class<+Lio/ebean/config/ScalarTypeConverter<**>;>;>;
            3   18     3      foundType  Ljava/lang/Class<+Lio/ebean/config/ScalarTypeConverter<**>;>;
            4   15     5     paramTypes  [Ljava/lang/Class;
            7   15     6    logicalType  Ljava/lang/Class<*>;
            8   15     7    persistType  Ljava/lang/Class<*>;
            9   15     8    wrappedType  Lio/ebean/core/type/ScalarType<*>;
           12   15     9      converter  Lio/ebean/config/ScalarTypeConverter;
           13   15    10            stw  Lio/ebeaninternal/server/type/ScalarTypeWrapper;
           17   18     5              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3    15      16  Class java.lang.Exception
    MethodParameters:
               Name  Flags
      bootupClasses  

  private void initialiseAttributeConverters(io.ebeaninternal.server.core.bootup.BootupClasses);
    descriptor: (Lio/ebeaninternal/server/core/bootup/BootupClasses;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebeaninternal.server.core.bootup.BootupClasses bootupClasses
         0: .line 783
            aload 1 /* bootupClasses */
            invokevirtual io.ebeaninternal.server.core.bootup.BootupClasses.getAttributeConverters:()Ljava/util/List;
            astore 2 /* foundTypes */
        start local 2 // java.util.List foundTypes
         1: .line 784
            aload 2 /* foundTypes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 3 /* foundType */
        start local 3 // java.lang.Class foundType
         3: .line 786
            aload 3 /* foundType */
            ldc Ljavax/persistence/AttributeConverter;
            invokestatic io.ebeaninternal.server.type.TypeReflectHelper.getParams:(Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/Class;
            astore 5 /* paramTypes */
        start local 5 // java.lang.Class[] paramTypes
         4: .line 787
            aload 5 /* paramTypes */
            arraylength
            iconst_2
            if_icmpeq 6
         5: .line 788
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected 2 generics paramtypes but got: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* paramTypes */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 790
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses java.util.List java.lang.Class java.util.Iterator java.lang.Class[]
      StackMap stack:
            aload 5 /* paramTypes */
            iconst_0
            aaload
            astore 6 /* logicalType */
        start local 6 // java.lang.Class logicalType
         7: .line 791
            aload 5 /* paramTypes */
            iconst_1
            aaload
            astore 7 /* persistType */
        start local 7 // java.lang.Class persistType
         8: .line 792
            aload 0 /* this */
            aload 7 /* persistType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.getScalarType:(Ljava/lang/Class;)Lio/ebean/core/type/ScalarType;
            astore 8 /* wrappedType */
        start local 8 // io.ebean.core.type.ScalarType wrappedType
         9: .line 793
            aload 8 /* wrappedType */
            ifnonnull 11
        10: .line 794
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find ScalarType for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* paramTypes */
            iconst_1
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 796
      StackMap locals: java.lang.Class java.lang.Class io.ebean.core.type.ScalarType
      StackMap stack:
            aload 3 /* foundType */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast javax.persistence.AttributeConverter
            astore 9 /* converter */
        start local 9 // javax.persistence.AttributeConverter converter
        12: .line 797
            new io.ebeaninternal.server.type.ScalarTypeWrapper
            dup
            aload 6 /* logicalType */
            aload 8 /* wrappedType */
            new io.ebeaninternal.server.type.AttributeConverterAdapter
            dup
            aload 9 /* converter */
            invokespecial io.ebeaninternal.server.type.AttributeConverterAdapter.<init>:(Ljavax/persistence/AttributeConverter;)V
            invokespecial io.ebeaninternal.server.type.ScalarTypeWrapper.<init>:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;Lio/ebean/config/ScalarTypeConverter;)V
            astore 10 /* stw */
        start local 10 // io.ebeaninternal.server.type.ScalarTypeWrapper stw
        13: .line 798
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            ldc "Register ScalarTypeWrapper from {} -> {} using:{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* logicalType */
            aastore
            dup
            iconst_1
            aload 7 /* persistType */
            aastore
            dup
            iconst_2
            aload 3 /* foundType */
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        14: .line 799
            aload 0 /* this */
            aload 10 /* stw */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.add:(Lio/ebean/core/type/ScalarType;)V
        end local 10 // io.ebeaninternal.server.type.ScalarTypeWrapper stw
        end local 9 // javax.persistence.AttributeConverter converter
        end local 8 // io.ebean.core.type.ScalarType wrappedType
        end local 7 // java.lang.Class persistType
        end local 6 // java.lang.Class logicalType
        end local 5 // java.lang.Class[] paramTypes
        15: .line 800
            goto 18
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses java.util.List java.lang.Class java.util.Iterator
      StackMap stack: java.lang.Exception
        16: astore 5 /* e */
        start local 5 // java.lang.Exception e
        17: .line 801
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Error registering AttributeConverter ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* foundType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Exception e
        end local 3 // java.lang.Class foundType
        18: .line 784
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebeaninternal.server.core.bootup.BootupClasses java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        19: .line 804
            return
        end local 2 // java.util.List foundTypes
        end local 1 // io.ebeaninternal.server.core.bootup.BootupClasses bootupClasses
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   20     1  bootupClasses  Lio/ebeaninternal/server/core/bootup/BootupClasses;
            1   20     2     foundTypes  Ljava/util/List<Ljava/lang/Class<+Ljavax/persistence/AttributeConverter<**>;>;>;
            3   18     3      foundType  Ljava/lang/Class<+Ljavax/persistence/AttributeConverter<**>;>;
            4   15     5     paramTypes  [Ljava/lang/Class;
            7   15     6    logicalType  Ljava/lang/Class<*>;
            8   15     7    persistType  Ljava/lang/Class<*>;
            9   15     8    wrappedType  Lio/ebean/core/type/ScalarType<*>;
           12   15     9      converter  Ljavax/persistence/AttributeConverter;
           13   15    10            stw  Lio/ebeaninternal/server/type/ScalarTypeWrapper;
           17   18     5              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3    15      16  Class java.lang.Exception
    MethodParameters:
               Name  Flags
      bootupClasses  

  private void initialiseJacksonTypes(io.ebean.config.DatabaseConfig);
    descriptor: (Lio/ebean/config/DatabaseConfig;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.config.DatabaseConfig config
         0: .line 810
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapper:Ljava/lang/Object;
            ifnull 12
         1: .line 811
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            ldc "Registering JsonNode type support"
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;)V
         2: .line 812
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.objectMapper:Ljava/lang/Object;
            checkcast com.fasterxml.jackson.databind.ObjectMapper
            astore 2 /* mapper */
        start local 2 // com.fasterxml.jackson.databind.ObjectMapper mapper
         3: .line 813
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeJsonNode$Clob
            dup
            aload 2 /* mapper */
            invokespecial io.ebeaninternal.server.type.ScalarTypeJsonNode$Clob.<init>:(Lcom/fasterxml/jackson/databind/ObjectMapper;)V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeClob:Lio/ebean/core/type/ScalarType;
         4: .line 814
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeJsonNode$Blob
            dup
            aload 2 /* mapper */
            invokespecial io.ebeaninternal.server.type.ScalarTypeJsonNode$Blob.<init>:(Lcom/fasterxml/jackson/databind/ObjectMapper;)V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeBlob:Lio/ebean/core/type/ScalarType;
         5: .line 815
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeJsonNode$Varchar
            dup
            aload 2 /* mapper */
            invokespecial io.ebeaninternal.server.type.ScalarTypeJsonNode$Varchar.<init>:(Lcom/fasterxml/jackson/databind/ObjectMapper;)V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeVarchar:Lio/ebean/core/type/ScalarType;
         6: .line 816
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeClob:Lio/ebean/core/type/ScalarType;
            putfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeJson:Lio/ebean/core/type/ScalarType;
         7: .line 817
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeClob:Lio/ebean/core/type/ScalarType;
            putfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeJsonb:Lio/ebean/core/type/ScalarType;
         8: .line 818
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getDatabasePlatform:()Lio/ebean/config/dbplatform/DatabasePlatform;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.isPostgres:(Lio/ebean/config/dbplatform/DatabasePlatform;)Z
            ifeq 11
         9: .line 819
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeJsonNodePostgres$JSON
            dup
            aload 2 /* mapper */
            invokespecial io.ebeaninternal.server.type.ScalarTypeJsonNodePostgres$JSON.<init>:(Lcom/fasterxml/jackson/databind/ObjectMapper;)V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeJson:Lio/ebean/core/type/ScalarType;
        10: .line 820
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeJsonNodePostgres$JSONB
            dup
            aload 2 /* mapper */
            invokespecial io.ebeaninternal.server.type.ScalarTypeJsonNodePostgres$JSONB.<init>:(Lcom/fasterxml/jackson/databind/ObjectMapper;)V
            putfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeJsonb:Lio/ebean/core/type/ScalarType;
        11: .line 823
      StackMap locals: com.fasterxml.jackson.databind.ObjectMapper
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.typeMap:Ljava/util/concurrent/ConcurrentHashMap;
            ldc Lcom/fasterxml/jackson/databind/JsonNode;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonNodeJson:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // com.fasterxml.jackson.databind.ObjectMapper mapper
        12: .line 825
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebean.config.DatabaseConfig config
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   13     1  config  Lio/ebean/config/DatabaseConfig;
            3   12     2  mapper  Lcom/fasterxml/jackson/databind/ObjectMapper;
    MethodParameters:
        Name  Flags
      config  

  private void initialiseJavaTimeTypes(io.ebean.config.DatabaseConfig);
    descriptor: (Lio/ebean/config/DatabaseConfig;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.config.DatabaseConfig config
         0: .line 828
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.typeMap:Ljava/util/concurrent/ConcurrentHashMap;
            ldc Ljava/nio/file/Path;
            new io.ebeaninternal.server.type.ScalarTypePath
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypePath.<init>:()V
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 829
            aload 0 /* this */
            ldc Ljava/time/Period;
            new io.ebeaninternal.server.type.ScalarTypePeriod
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypePeriod.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         2: .line 830
            aload 0 /* this */
            ldc Ljava/time/LocalDate;
            new io.ebeaninternal.server.type.ScalarTypeLocalDate
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDate:Lio/ebean/config/JsonConfig$Date;
            invokespecial io.ebeaninternal.server.type.ScalarTypeLocalDate.<init>:(Lio/ebean/config/JsonConfig$Date;)V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         3: .line 831
            aload 0 /* this */
            ldc Ljava/time/LocalDateTime;
            new io.ebeaninternal.server.type.ScalarTypeLocalDateTime
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
            invokespecial io.ebeaninternal.server.type.ScalarTypeLocalDateTime.<init>:(Lio/ebean/config/JsonConfig$DateTime;)V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         4: .line 832
            aload 0 /* this */
            ldc Ljava/time/OffsetDateTime;
            new io.ebeaninternal.server.type.ScalarTypeOffsetDateTime
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
            invokespecial io.ebeaninternal.server.type.ScalarTypeOffsetDateTime.<init>:(Lio/ebean/config/JsonConfig$DateTime;)V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         5: .line 833
            aload 0 /* this */
            ldc Ljava/time/ZonedDateTime;
            new io.ebeaninternal.server.type.ScalarTypeZonedDateTime
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
            invokespecial io.ebeaninternal.server.type.ScalarTypeZonedDateTime.<init>:(Lio/ebean/config/JsonConfig$DateTime;)V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         6: .line 834
            aload 0 /* this */
            ldc Ljava/time/Instant;
            new io.ebeaninternal.server.type.ScalarTypeInstant
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
            invokespecial io.ebeaninternal.server.type.ScalarTypeInstant.<init>:(Lio/ebean/config/JsonConfig$DateTime;)V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         7: .line 835
            aload 0 /* this */
            ldc Ljava/time/DayOfWeek;
            new io.ebeaninternal.server.type.ScalarTypeDayOfWeek
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeDayOfWeek.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         8: .line 836
            aload 0 /* this */
            ldc Ljava/time/Month;
            new io.ebeaninternal.server.type.ScalarTypeMonth
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeMonth.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         9: .line 837
            aload 0 /* this */
            ldc Ljava/time/Year;
            new io.ebeaninternal.server.type.ScalarTypeYear
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeYear.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        10: .line 838
            aload 0 /* this */
            ldc Ljava/time/YearMonth;
            new io.ebeaninternal.server.type.ScalarTypeYearMonthDate
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDate:Lio/ebean/config/JsonConfig$Date;
            invokespecial io.ebeaninternal.server.type.ScalarTypeYearMonthDate.<init>:(Lio/ebean/config/JsonConfig$Date;)V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        11: .line 839
            aload 0 /* this */
            ldc Ljava/time/MonthDay;
            new io.ebeaninternal.server.type.ScalarTypeMonthDay
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeMonthDay.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        12: .line 840
            aload 0 /* this */
            ldc Ljava/time/OffsetTime;
            new io.ebeaninternal.server.type.ScalarTypeOffsetTime
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeOffsetTime.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        13: .line 841
            aload 0 /* this */
            ldc Ljava/time/ZoneId;
            new io.ebeaninternal.server.type.ScalarTypeZoneId
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeZoneId.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        14: .line 842
            aload 0 /* this */
            ldc Ljava/time/ZoneOffset;
            new io.ebeaninternal.server.type.ScalarTypeZoneOffset
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeZoneOffset.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        15: .line 843
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.isLocalTimeWithNanos:()Z
            istore 2 /* localTimeNanos */
        start local 2 // boolean localTimeNanos
        16: .line 844
            aload 0 /* this */
            ldc Ljava/time/LocalTime;
            iload 2 /* localTimeNanos */
            ifeq 17
            new io.ebeaninternal.server.type.ScalarTypeLocalTimeWithNanos
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeLocalTimeWithNanos.<init>:()V
            goto 18
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebean.config.DatabaseConfig int
      StackMap stack: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class
        17: new io.ebeaninternal.server.type.ScalarTypeLocalTime
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeLocalTime.<init>:()V
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebean.config.DatabaseConfig int
      StackMap stack: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class io.ebeaninternal.server.type.ScalarTypeLocalTime
        18: invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        19: .line 845
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.isDurationWithNanos:()Z
            istore 3 /* durationNanos */
        start local 3 // boolean durationNanos
        20: .line 846
            aload 0 /* this */
            ldc Ljava/time/Duration;
            iload 3 /* durationNanos */
            ifeq 21
            new io.ebeaninternal.server.type.ScalarTypeDurationWithNanos
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeDurationWithNanos.<init>:()V
            goto 22
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebean.config.DatabaseConfig int int
      StackMap stack: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class
        21: new io.ebeaninternal.server.type.ScalarTypeDuration
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeDuration.<init>:()V
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebean.config.DatabaseConfig int int
      StackMap stack: io.ebeaninternal.server.type.DefaultTypeManager java.lang.Class io.ebeaninternal.server.type.ScalarTypeDuration
        22: invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        23: .line 847
            return
        end local 3 // boolean durationNanos
        end local 2 // boolean localTimeNanos
        end local 1 // io.ebean.config.DatabaseConfig config
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   24     1          config  Lio/ebean/config/DatabaseConfig;
           16   24     2  localTimeNanos  Z
           20   24     3   durationNanos  Z
    MethodParameters:
        Name  Flags
      config  

  private void addType(java.lang.Class<?>, io.ebean.core.type.ScalarType<?>);
    descriptor: (Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // java.lang.Class clazz
        start local 2 // io.ebean.core.type.ScalarType scalarType
         0: .line 850
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.typeMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* clazz */
            aload 2 /* scalarType */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 851
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.logicalMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aload 2 /* scalarType */
            invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 852
            return
        end local 2 // io.ebean.core.type.ScalarType scalarType
        end local 1 // java.lang.Class clazz
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    3     1       clazz  Ljava/lang/Class<*>;
            0    3     2  scalarType  Lio/ebean/core/type/ScalarType<*>;
    Signature: (Ljava/lang/Class<*>;Lio/ebean/core/type/ScalarType<*>;)V
    MethodParameters:
            Name  Flags
      clazz       
      scalarType  

  private void initialiseJodaTypes(io.ebean.config.DatabaseConfig);
    descriptor: (Lio/ebean/config/DatabaseConfig;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.config.DatabaseConfig config
         0: .line 860
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getClassLoadConfig:()Lio/ebean/config/ClassLoadConfig;
            invokevirtual io.ebean.config.ClassLoadConfig.isJodaTimePresent:()Z
            ifeq 15
         1: .line 862
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            ldc "Registering Joda data types"
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
         2: .line 863
            aload 0 /* this */
            ldc Lorg/joda/time/LocalDateTime;
            new io.ebeaninternal.server.type.ScalarTypeJodaLocalDateTime
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
            invokespecial io.ebeaninternal.server.type.ScalarTypeJodaLocalDateTime.<init>:(Lio/ebean/config/JsonConfig$DateTime;)V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         3: .line 864
            aload 0 /* this */
            ldc Lorg/joda/time/DateTime;
            new io.ebeaninternal.server.type.ScalarTypeJodaDateTime
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
            invokespecial io.ebeaninternal.server.type.ScalarTypeJodaDateTime.<init>:(Lio/ebean/config/JsonConfig$DateTime;)V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         4: .line 865
            aload 0 /* this */
            ldc Lorg/joda/time/LocalDate;
            new io.ebeaninternal.server.type.ScalarTypeJodaLocalDate
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDate:Lio/ebean/config/JsonConfig$Date;
            invokespecial io.ebeaninternal.server.type.ScalarTypeJodaLocalDate.<init>:(Lio/ebean/config/JsonConfig$Date;)V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         5: .line 866
            aload 0 /* this */
            ldc Lorg/joda/time/DateMidnight;
            new io.ebeaninternal.server.type.ScalarTypeJodaDateMidnight
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDate:Lio/ebean/config/JsonConfig$Date;
            invokespecial io.ebeaninternal.server.type.ScalarTypeJodaDateMidnight.<init>:(Lio/ebean/config/JsonConfig$Date;)V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         6: .line 867
            aload 0 /* this */
            ldc Lorg/joda/time/Period;
            new io.ebeaninternal.server.type.ScalarTypeJodaPeriod
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeJodaPeriod.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         7: .line 869
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getJodaLocalTimeMode:()Ljava/lang/String;
            astore 2 /* jodaLocalTimeMode */
        start local 2 // java.lang.String jodaLocalTimeMode
         8: .line 870
            ldc "normal"
            aload 2 /* jodaLocalTimeMode */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 12
         9: .line 872
            aload 0 /* this */
            ldc Lorg/joda/time/LocalTime;
            new io.ebeaninternal.server.type.ScalarTypeJodaLocalTime
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeJodaLocalTime.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        10: .line 873
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            ldc "registered ScalarTypeJodaLocalTime"
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
        11: .line 874
            goto 15
      StackMap locals: java.lang.String
      StackMap stack:
        12: ldc "utc"
            aload 2 /* jodaLocalTimeMode */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 15
        13: .line 876
            aload 0 /* this */
            ldc Lorg/joda/time/LocalTime;
            new io.ebeaninternal.server.type.ScalarTypeJodaLocalTimeUTC
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeJodaLocalTimeUTC.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        14: .line 877
            getstatic io.ebeaninternal.server.type.DefaultTypeManager.logger:Lorg/slf4j/Logger;
            ldc "registered ScalarTypeJodaLocalTimeUTC"
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
        end local 2 // java.lang.String jodaLocalTimeMode
        15: .line 880
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebean.config.DatabaseConfig config
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   16     1             config  Lio/ebean/config/DatabaseConfig;
            8   15     2  jodaLocalTimeMode  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      config  

  private void initialiseStandard(io.ebean.config.DatabaseConfig);
    descriptor: (Lio/ebean/config/DatabaseConfig;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.config.DatabaseConfig config
         0: .line 887
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getDatabasePlatform:()Lio/ebean/config/dbplatform/DatabasePlatform;
            astore 2 /* databasePlatform */
        start local 2 // io.ebean.config.dbplatform.DatabasePlatform databasePlatform
         1: .line 888
            aload 2 /* databasePlatform */
            invokevirtual io.ebean.config.dbplatform.DatabasePlatform.getClobDbType:()I
            istore 3 /* platformClobType */
        start local 3 // int platformClobType
         2: .line 889
            aload 2 /* databasePlatform */
            invokevirtual io.ebean.config.dbplatform.DatabasePlatform.getBlobDbType:()I
            istore 4 /* platformBlobType */
        start local 4 // int platformBlobType
         3: .line 891
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            sipush 5000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.hstoreType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 893
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.extraTypeFactory:Lio/ebeaninternal/server/type/DefaultTypeFactory;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDate:Lio/ebean/config/JsonConfig$Date;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeFactory.createUtilDate:(Lio/ebean/config/JsonConfig$DateTime;Lio/ebean/config/JsonConfig$Date;)Lio/ebean/core/type/ScalarType;
            astore 5 /* utilDateType */
        start local 5 // io.ebean.core.type.ScalarType utilDateType
         5: .line 894
            aload 0 /* this */
            ldc Ljava/util/Date;
            aload 5 /* utilDateType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         6: .line 896
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.extraTypeFactory:Lio/ebeaninternal/server/type/DefaultTypeFactory;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeFactory.createCalendar:(Lio/ebean/config/JsonConfig$DateTime;)Lio/ebean/core/type/ScalarType;
            astore 6 /* calType */
        start local 6 // io.ebean.core.type.ScalarType calType
         7: .line 897
            aload 0 /* this */
            ldc Ljava/util/Calendar;
            aload 6 /* calType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         8: .line 899
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.extraTypeFactory:Lio/ebeaninternal/server/type/DefaultTypeFactory;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeFactory.createMathBigInteger:()Lio/ebean/core/type/ScalarType;
            astore 7 /* mathBigIntType */
        start local 7 // io.ebean.core.type.ScalarType mathBigIntType
         9: .line 900
            aload 0 /* this */
            ldc Ljava/math/BigInteger;
            aload 7 /* mathBigIntType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        10: .line 902
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.extraTypeFactory:Lio/ebeaninternal/server/type/DefaultTypeFactory;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeFactory.createBoolean:()Lio/ebeaninternal/server/type/ScalarTypeBool;
            astore 8 /* booleanType */
        start local 8 // io.ebeaninternal.server.type.ScalarTypeBool booleanType
        11: .line 903
            aload 0 /* this */
            ldc Ljava/lang/Boolean;
            aload 8 /* booleanType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        12: .line 904
            aload 0 /* this */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            aload 8 /* booleanType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        13: .line 907
            aload 2 /* databasePlatform */
            aload 8 /* booleanType */
            invokeinterface io.ebeaninternal.server.type.ScalarTypeBool.getDbTrueLiteral:()Ljava/lang/String;
            invokevirtual io.ebean.config.dbplatform.DatabasePlatform.setDbTrueLiteral:(Ljava/lang/String;)V
        14: .line 908
            aload 2 /* databasePlatform */
            aload 8 /* booleanType */
            invokeinterface io.ebeaninternal.server.type.ScalarTypeBool.getDbFalseLiteral:()Ljava/lang/String;
            invokevirtual io.ebean.config.dbplatform.DatabasePlatform.setDbFalseLiteral:(Ljava/lang/String;)V
        15: .line 911
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush 16
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 8 /* booleanType */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 912
            aload 8 /* booleanType */
            invokeinterface io.ebeaninternal.server.type.ScalarTypeBool.getJdbcType:()I
            bipush -7
            if_icmpne 18
        17: .line 914
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush -7
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 8 /* booleanType */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 917
      StackMap locals: io.ebeaninternal.server.type.DefaultTypeManager io.ebean.config.DatabaseConfig io.ebean.config.dbplatform.DatabasePlatform int int io.ebean.core.type.ScalarType io.ebean.core.type.ScalarType io.ebean.core.type.ScalarType io.ebeaninternal.server.type.ScalarTypeBool
      StackMap stack:
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getPlatformConfig:()Lio/ebean/config/PlatformConfig;
            invokevirtual io.ebean.config.PlatformConfig.getDbUuid:()Lio/ebean/config/PlatformConfig$DbUuid;
            astore 9 /* dbUuid */
        start local 9 // io.ebean.config.PlatformConfig$DbUuid dbUuid
        19: .line 919
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.offlineMigrationGeneration:Z
            ifne 20
            aload 2 /* databasePlatform */
            invokevirtual io.ebean.config.dbplatform.DatabasePlatform.isNativeUuidType:()Z
            ifeq 22
            aload 9 /* dbUuid */
            invokevirtual io.ebean.config.PlatformConfig$DbUuid.useNativeType:()Z
            ifeq 22
        20: .line 920
      StackMap locals: io.ebean.config.PlatformConfig$DbUuid
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/util/UUID;
            new io.ebeaninternal.server.type.ScalarTypeUUIDNative
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeUUIDNative.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        21: .line 921
            goto 26
        22: .line 923
      StackMap locals:
      StackMap stack:
            aload 9 /* dbUuid */
            invokevirtual io.ebean.config.PlatformConfig$DbUuid.useBinary:()Z
            ifeq 23
            new io.ebeaninternal.server.type.ScalarTypeUUIDBinary
            dup
            aload 9 /* dbUuid */
            invokevirtual io.ebean.config.PlatformConfig$DbUuid.useBinaryOptimized:()Z
            invokespecial io.ebeaninternal.server.type.ScalarTypeUUIDBinary.<init>:(Z)V
            goto 24
      StackMap locals:
      StackMap stack:
        23: new io.ebeaninternal.server.type.ScalarTypeUUIDVarchar
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeUUIDVarchar.<init>:()V
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.type.ScalarTypeUUIDBase
        24: astore 10 /* uuidType */
        start local 10 // io.ebean.core.type.ScalarType uuidType
        25: .line 924
            aload 0 /* this */
            ldc Ljava/util/UUID;
            aload 10 /* uuidType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        end local 10 // io.ebean.core.type.ScalarType uuidType
        26: .line 927
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.offlineMigrationGeneration:Z
            ifne 27
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.postgres:Z
            ifeq 29
            aload 1 /* config */
            invokevirtual io.ebean.config.DatabaseConfig.getPlatformConfig:()Lio/ebean/config/PlatformConfig;
            invokevirtual io.ebean.config.PlatformConfig.isDatabaseInetAddressVarchar:()Z
            ifne 29
        27: .line 928
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeInetAddressPostgres
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeInetAddressPostgres.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addInetAddressType:(Lio/ebean/core/type/ScalarType;)V
        28: .line 929
            goto 30
        29: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.ebeaninternal.server.type.ScalarTypeInetAddress
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeInetAddress.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addInetAddressType:(Lio/ebean/core/type/ScalarType;)V
        30: .line 933
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.offlineMigrationGeneration:Z
            ifne 31
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.postgres:Z
            ifeq 34
        31: .line 934
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Lio/ebean/types/Cidr;
            new io.ebeaninternal.server.type.ScalarTypeCidr$Postgres
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeCidr$Postgres.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        32: .line 935
            aload 0 /* this */
            ldc Lio/ebean/types/Inet;
            new io.ebeaninternal.server.type.ScalarTypeInet$Postgres
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeInet$Postgres.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        33: .line 936
            goto 36
        34: .line 937
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Lio/ebean/types/Cidr;
            new io.ebeaninternal.server.type.ScalarTypeCidr$Varchar
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeCidr$Varchar.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        35: .line 938
            aload 0 /* this */
            ldc Lio/ebean/types/Inet;
            new io.ebeaninternal.server.type.ScalarTypeInet$Varchar
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeInet$Varchar.<init>:()V
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        36: .line 941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/io/File;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.fileType:Lio/ebeaninternal/server/type/ScalarTypeFile;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        37: .line 942
            aload 0 /* this */
            ldc Ljava/util/Locale;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.localeType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        38: .line 943
            aload 0 /* this */
            ldc Ljava/util/Currency;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.currencyType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        39: .line 944
            aload 0 /* this */
            ldc Ljava/util/TimeZone;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.timeZoneType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        40: .line 945
            aload 0 /* this */
            ldc Ljava/net/URL;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.urlType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        41: .line 946
            aload 0 /* this */
            ldc Ljava/net/URI;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.uriType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        42: .line 949
            aload 0 /* this */
            ldc [C
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.charArrayType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        43: .line 950
            aload 0 /* this */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.charType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        44: .line 951
            aload 0 /* this */
            ldc Ljava/lang/String;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.stringType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        45: .line 952
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush 12
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.stringType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 953
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.stringType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        47: .line 954
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.longVarcharType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        48: .line 957
            aload 0 /* this */
            ldc Ljava/lang/Class;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.classType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        49: .line 959
            iload 3 /* platformClobType */
            sipush 2005
            if_icmpne 52
        50: .line 960
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            sipush 2005
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.clobType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        51: .line 961
            goto 56
        52: .line 963
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            iload 3 /* platformClobType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            astore 10 /* platClobScalarType */
        start local 10 // io.ebean.core.type.ScalarType platClobScalarType
        53: .line 964
            aload 10 /* platClobScalarType */
            ifnonnull 55
        54: .line 965
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Type for dbPlatform clobType ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.clobType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] not found."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        55: .line 967
      StackMap locals: io.ebean.core.type.ScalarType
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            sipush 2005
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 10 /* platClobScalarType */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // io.ebean.core.type.ScalarType platClobScalarType
        56: .line 971
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc [B
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.varbinaryType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        57: .line 972
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush -2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.binaryType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        58: .line 973
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush -3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.varbinaryType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        59: .line 974
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush -4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.longVarbinaryType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        60: .line 976
            iload 4 /* platformBlobType */
            sipush 2004
            if_icmpne 63
        61: .line 977
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            sipush 2004
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.blobType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        62: .line 978
            goto 67
        63: .line 980
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            iload 4 /* platformBlobType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.core.type.ScalarType
            astore 10 /* platBlobScalarType */
        start local 10 // io.ebean.core.type.ScalarType platBlobScalarType
        64: .line 981
            aload 10 /* platBlobScalarType */
            ifnonnull 66
        65: .line 982
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Type for dbPlatform blobType ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.blobType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] not found."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        66: .line 984
      StackMap locals: io.ebean.core.type.ScalarType
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            sipush 2004
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 10 /* platBlobScalarType */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // io.ebean.core.type.ScalarType platBlobScalarType
        67: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/lang/Byte;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.byteType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        68: .line 989
            aload 0 /* this */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.byteType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        69: .line 990
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush -6
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.byteType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        70: .line 992
            aload 0 /* this */
            ldc Ljava/lang/Short;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.shortType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        71: .line 993
            aload 0 /* this */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.shortType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        72: .line 994
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            iconst_5
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.shortType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        73: .line 996
            aload 0 /* this */
            ldc Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.integerType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        74: .line 997
            aload 0 /* this */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.integerType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        75: .line 998
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.integerType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        76: .line 1000
            aload 0 /* this */
            ldc Ljava/lang/Long;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.longType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        77: .line 1001
            aload 0 /* this */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.longType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        78: .line 1002
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush -5
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.longType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        79: .line 1004
            aload 0 /* this */
            ldc Ljava/lang/Double;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.doubleType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        80: .line 1005
            aload 0 /* this */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.doubleType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        81: .line 1006
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush 6
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.doubleType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        82: .line 1007
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush 8
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.doubleType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        83: .line 1009
            aload 0 /* this */
            ldc Ljava/lang/Float;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.floatType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        84: .line 1010
            aload 0 /* this */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.floatType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        85: .line 1011
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush 7
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.floatType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        86: .line 1013
            aload 0 /* this */
            ldc Ljava/math/BigDecimal;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.bigDecimalType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        87: .line 1014
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.bigDecimalType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        88: .line 1015
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.bigDecimalType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        89: .line 1018
            aload 0 /* this */
            ldc Ljava/sql/Time;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.timeType:Lio/ebean/core/type/ScalarType;
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        90: .line 1019
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush 92
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.timeType:Lio/ebean/core/type/ScalarType;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        91: .line 1021
            new io.ebeaninternal.server.type.ScalarTypeDate
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDate:Lio/ebean/config/JsonConfig$Date;
            invokespecial io.ebeaninternal.server.type.ScalarTypeDate.<init>:(Lio/ebean/config/JsonConfig$Date;)V
            astore 10 /* dateType */
        start local 10 // io.ebeaninternal.server.type.ScalarTypeDate dateType
        92: .line 1022
            aload 0 /* this */
            ldc Ljava/sql/Date;
            aload 10 /* dateType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        93: .line 1023
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush 91
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 10 /* dateType */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        94: .line 1025
            new io.ebeaninternal.server.type.ScalarTypeTimestamp
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.jsonDateTime:Lio/ebean/config/JsonConfig$DateTime;
            invokespecial io.ebeaninternal.server.type.ScalarTypeTimestamp.<init>:(Lio/ebean/config/JsonConfig$DateTime;)V
            astore 11 /* timestampType */
        start local 11 // io.ebean.core.type.ScalarType timestampType
        95: .line 1026
            aload 0 /* this */
            ldc Ljava/sql/Timestamp;
            aload 11 /* timestampType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
        96: .line 1027
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeManager.nativeMap:Ljava/util/concurrent/ConcurrentHashMap;
            bipush 93
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 11 /* timestampType */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        97: .line 1028
            return
        end local 11 // io.ebean.core.type.ScalarType timestampType
        end local 10 // io.ebeaninternal.server.type.ScalarTypeDate dateType
        end local 9 // io.ebean.config.PlatformConfig$DbUuid dbUuid
        end local 8 // io.ebeaninternal.server.type.ScalarTypeBool booleanType
        end local 7 // io.ebean.core.type.ScalarType mathBigIntType
        end local 6 // io.ebean.core.type.ScalarType calType
        end local 5 // io.ebean.core.type.ScalarType utilDateType
        end local 4 // int platformBlobType
        end local 3 // int platformClobType
        end local 2 // io.ebean.config.dbplatform.DatabasePlatform databasePlatform
        end local 1 // io.ebean.config.DatabaseConfig config
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   98     0                this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0   98     1              config  Lio/ebean/config/DatabaseConfig;
            1   98     2    databasePlatform  Lio/ebean/config/dbplatform/DatabasePlatform;
            2   98     3    platformClobType  I
            3   98     4    platformBlobType  I
            5   98     5        utilDateType  Lio/ebean/core/type/ScalarType<*>;
            7   98     6             calType  Lio/ebean/core/type/ScalarType<*>;
            9   98     7      mathBigIntType  Lio/ebean/core/type/ScalarType<*>;
           11   98     8         booleanType  Lio/ebeaninternal/server/type/ScalarTypeBool;
           19   98     9              dbUuid  Lio/ebean/config/PlatformConfig$DbUuid;
           25   26    10            uuidType  Lio/ebean/core/type/ScalarType<*>;
           53   56    10  platClobScalarType  Lio/ebean/core/type/ScalarType<*>;
           64   67    10  platBlobScalarType  Lio/ebean/core/type/ScalarType<*>;
           92   98    10            dateType  Lio/ebeaninternal/server/type/ScalarTypeDate;
           95   98    11       timestampType  Lio/ebean/core/type/ScalarType<*>;
    MethodParameters:
        Name  Flags
      config  

  private void addInetAddressType(io.ebean.core.type.ScalarType);
    descriptor: (Lio/ebean/core/type/ScalarType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
        start local 1 // io.ebean.core.type.ScalarType scalarType
         0: .line 1031
            aload 0 /* this */
            ldc Ljava/net/InetAddress;
            aload 1 /* scalarType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         1: .line 1032
            aload 0 /* this */
            ldc Ljava/net/Inet4Address;
            aload 1 /* scalarType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         2: .line 1033
            aload 0 /* this */
            ldc Ljava/net/Inet6Address;
            aload 1 /* scalarType */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeManager.addType:(Ljava/lang/Class;Lio/ebean/core/type/ScalarType;)V
         3: .line 1034
            return
        end local 1 // io.ebean.core.type.ScalarType scalarType
        end local 0 // io.ebeaninternal.server.type.DefaultTypeManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lio/ebeaninternal/server/type/DefaultTypeManager;
            0    4     1  scalarType  Lio/ebean/core/type/ScalarType;
    MethodParameters:
            Name  Flags
      scalarType  
}
SourceFile: "DefaultTypeManager.java"
InnerClasses:
  public final Date = io.ebean.config.JsonConfig$Date of io.ebean.config.JsonConfig
  public final DateTime = io.ebean.config.JsonConfig$DateTime of io.ebean.config.JsonConfig
  public final DbUuid = io.ebean.config.PlatformConfig$DbUuid of io.ebean.config.PlatformConfig
  public Postgres = io.ebeaninternal.server.type.ScalarTypeCidr$Postgres of io.ebeaninternal.server.type.ScalarTypeCidr
  public Varchar = io.ebeaninternal.server.type.ScalarTypeCidr$Varchar of io.ebeaninternal.server.type.ScalarTypeCidr
  public OrdinalEnum = io.ebeaninternal.server.type.ScalarTypeEnumStandard$OrdinalEnum of io.ebeaninternal.server.type.ScalarTypeEnumStandard
  public StringEnum = io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum of io.ebeaninternal.server.type.ScalarTypeEnumStandard
  public Postgres = io.ebeaninternal.server.type.ScalarTypeInet$Postgres of io.ebeaninternal.server.type.ScalarTypeInet
  public Varchar = io.ebeaninternal.server.type.ScalarTypeInet$Varchar of io.ebeaninternal.server.type.ScalarTypeInet
  public Varchar = io.ebeaninternal.server.type.ScalarTypeJsonList$Varchar of io.ebeaninternal.server.type.ScalarTypeJsonList
  public Blob = io.ebeaninternal.server.type.ScalarTypeJsonNode$Blob of io.ebeaninternal.server.type.ScalarTypeJsonNode
  public Clob = io.ebeaninternal.server.type.ScalarTypeJsonNode$Clob of io.ebeaninternal.server.type.ScalarTypeJsonNode
  public Varchar = io.ebeaninternal.server.type.ScalarTypeJsonNode$Varchar of io.ebeaninternal.server.type.ScalarTypeJsonNode
  public JSON = io.ebeaninternal.server.type.ScalarTypeJsonNodePostgres$JSON of io.ebeaninternal.server.type.ScalarTypeJsonNodePostgres
  public JSONB = io.ebeaninternal.server.type.ScalarTypeJsonNodePostgres$JSONB of io.ebeaninternal.server.type.ScalarTypeJsonNodePostgres
  public Varchar = io.ebeaninternal.server.type.ScalarTypeJsonSet$Varchar of io.ebeaninternal.server.type.ScalarTypeJsonSet
  public abstract Entry = java.util.Map$Entry of java.util.Map