public final class org.hibernate.cfg.Environment implements org.hibernate.cfg.AvailableSettings
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.hibernate.cfg.Environment
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.hibernate.bytecode.spi.BytecodeProvider BYTECODE_PROVIDER_INSTANCE;
    descriptor: Lorg/hibernate/bytecode/spi/BytecodeProvider;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean ENABLE_BINARY_STREAMS;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean ENABLE_REFLECTION_OPTIMIZER;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean JVM_HAS_TIMESTAMP_BUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Properties GLOBAL_PROPERTIES;
    descriptor: Ljava/util/Properties;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.lang.Integer, java.lang.String> ISOLATION_LEVELS;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;

  private static final java.util.Map OBSOLETE_PROPERTIES;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map RENAMED_PROPERTIES;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=0
         0: .line 172
            ldc Lorg/hibernate/internal/CoreMessageLogger;
            ldc Lorg/hibernate/cfg/Environment;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 182
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.hibernate.cfg.Environment.OBSOLETE_PROPERTIES:Ljava/util/Map;
         2: .line 183
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.hibernate.cfg.Environment.RENAMED_PROPERTIES:Ljava/util/Map;
         3: .line 207
            invokestatic org.hibernate.Version.logVersion:()V
         4: .line 209
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* temp */
        start local 0 // java.util.Map temp
         5: .line 210
            aload 0 /* temp */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc "NONE"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 211
            aload 0 /* temp */
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc "READ_UNCOMMITTED"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 212
            aload 0 /* temp */
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc "READ_COMMITTED"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 213
            aload 0 /* temp */
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc "REPEATABLE_READ"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 214
            aload 0 /* temp */
            bipush 8
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc "SERIALIZABLE"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 215
            aload 0 /* temp */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putstatic org.hibernate.cfg.Environment.ISOLATION_LEVELS:Ljava/util/Map;
        11: .line 216
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            putstatic org.hibernate.cfg.Environment.GLOBAL_PROPERTIES:Ljava/util/Properties;
        12: .line 218
            getstatic org.hibernate.cfg.Environment.GLOBAL_PROPERTIES:Ljava/util/Properties;
            ldc "hibernate.bytecode.use_reflection_optimizer"
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        13: .line 221
            ldc "/hibernate.properties"
            invokestatic org.hibernate.internal.util.ConfigHelper.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 1 /* stream */
        start local 1 // java.io.InputStream stream
        14: .line 223
            getstatic org.hibernate.cfg.Environment.GLOBAL_PROPERTIES:Ljava/util/Properties;
            aload 1 /* stream */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        15: .line 224
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            getstatic org.hibernate.cfg.Environment.GLOBAL_PROPERTIES:Ljava/util/Properties;
            ldc "hibernate.connection.password"
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.maskOut:(Ljava/util/Properties;Ljava/lang/String;)Ljava/util/Properties;
            invokeinterface org.hibernate.internal.CoreMessageLogger.propertiesLoaded:(Ljava/util/Properties;)V
        16: .line 225
            goto 30
        17: .line 226
      StackMap locals: java.util.Map java.io.InputStream
      StackMap stack: java.lang.Exception
            pop
        18: .line 227
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToLoadProperties:()V
        19: .line 231
            aload 1 /* stream */
            invokevirtual java.io.InputStream.close:()V
        20: .line 232
            goto 37
        21: .line 233
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* ioe */
        start local 3 // java.io.IOException ioe
        22: .line 234
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 3 /* ioe */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToCloseStreamError:(Ljava/io/IOException;)V
        end local 3 // java.io.IOException ioe
        23: goto 37
        24: .line 229
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
        25: .line 231
            aload 1 /* stream */
            invokevirtual java.io.InputStream.close:()V
        26: .line 232
            goto 29
        27: .line 233
      StackMap locals: java.util.Map java.io.InputStream java.lang.Throwable
      StackMap stack: java.io.IOException
            astore 3 /* ioe */
        start local 3 // java.io.IOException ioe
        28: .line 234
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 3 /* ioe */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToCloseStreamError:(Ljava/io/IOException;)V
        end local 3 // java.io.IOException ioe
        29: .line 236
      StackMap locals:
      StackMap stack:
            aload 2
            athrow
        30: .line 231
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            invokevirtual java.io.InputStream.close:()V
        31: .line 232
            goto 37
        32: .line 233
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* ioe */
        start local 3 // java.io.IOException ioe
        33: .line 234
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 3 /* ioe */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToCloseStreamError:(Ljava/io/IOException;)V
        end local 3 // java.io.IOException ioe
        end local 1 // java.io.InputStream stream
        34: .line 237
            goto 37
        35: .line 238
      StackMap locals: java.util.Map
      StackMap stack: org.hibernate.HibernateException
            pop
        36: .line 239
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.propertiesNotFound:()V
        37: .line 243
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getProperties:()Ljava/util/Properties;
            astore 1 /* systemProperties */
        start local 1 // java.util.Properties systemProperties
        38: .line 246
            aload 1 /* systemProperties */
            dup
            astore 2
            monitorenter
        39: .line 247
            getstatic org.hibernate.cfg.Environment.GLOBAL_PROPERTIES:Ljava/util/Properties;
            aload 1 /* systemProperties */
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
        40: .line 246
            aload 2
            monitorexit
        41: goto 46
      StackMap locals: java.util.Map java.util.Properties java.util.Properties
      StackMap stack: java.lang.Throwable
        42: aload 2
            monitorexit
        43: athrow
        end local 1 // java.util.Properties systemProperties
        44: .line 249
      StackMap locals: java.util.Map
      StackMap stack: java.lang.SecurityException
            pop
        45: .line 250
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToCopySystemProperties:()V
        46: .line 253
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.cfg.Environment.GLOBAL_PROPERTIES:Ljava/util/Properties;
            invokestatic org.hibernate.cfg.Environment.verifyProperties:(Ljava/util/Map;)V
        47: .line 255
            ldc "hibernate.jdbc.use_streams_for_binary"
            getstatic org.hibernate.cfg.Environment.GLOBAL_PROPERTIES:Ljava/util/Properties;
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getBoolean:(Ljava/lang/String;Ljava/util/Map;)Z
            putstatic org.hibernate.cfg.Environment.ENABLE_BINARY_STREAMS:Z
        48: .line 256
            getstatic org.hibernate.cfg.Environment.ENABLE_BINARY_STREAMS:Z
            ifeq 50
        49: .line 257
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.usingStreams:()V
        50: .line 260
      StackMap locals:
      StackMap stack:
            ldc "hibernate.bytecode.use_reflection_optimizer"
            getstatic org.hibernate.cfg.Environment.GLOBAL_PROPERTIES:Ljava/util/Properties;
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getBoolean:(Ljava/lang/String;Ljava/util/Map;)Z
            putstatic org.hibernate.cfg.Environment.ENABLE_REFLECTION_OPTIMIZER:Z
        51: .line 261
            getstatic org.hibernate.cfg.Environment.ENABLE_REFLECTION_OPTIMIZER:Z
            ifeq 53
        52: .line 262
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.usingReflectionOptimizer:()V
        53: .line 265
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.cfg.Environment.GLOBAL_PROPERTIES:Ljava/util/Properties;
            invokestatic org.hibernate.cfg.Environment.buildBytecodeProvider:(Ljava/util/Properties;)Lorg/hibernate/bytecode/spi/BytecodeProvider;
            putstatic org.hibernate.cfg.Environment.BYTECODE_PROVIDER_INSTANCE:Lorg/hibernate/bytecode/spi/BytecodeProvider;
        54: .line 267
            ldc 123456789
            lstore 1 /* x */
        start local 1 // long x
        55: .line 268
            new java.sql.Timestamp
            dup
            lload 1 /* x */
            invokespecial java.sql.Timestamp.<init>:(J)V
            invokevirtual java.sql.Timestamp.getTime:()J
            lload 1 /* x */
            lcmp
            ifeq 56
            iconst_1
            goto 57
      StackMap locals: long
      StackMap stack:
        56: iconst_0
      StackMap locals:
      StackMap stack: int
        57: putstatic org.hibernate.cfg.Environment.JVM_HAS_TIMESTAMP_BUG:Z
        58: .line 269
            getstatic org.hibernate.cfg.Environment.JVM_HAS_TIMESTAMP_BUG:Z
            ifeq 60
        59: .line 270
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.usingTimestampWorkaround:()V
        end local 1 // long x
        end local 0 // java.util.Map temp
        60: .line 272
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            5   60     0              temp  Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;
           14   34     1            stream  Ljava/io/InputStream;
           22   23     3               ioe  Ljava/io/IOException;
           28   29     3               ioe  Ljava/io/IOException;
           33   34     3               ioe  Ljava/io/IOException;
           38   44     1  systemProperties  Ljava/util/Properties;
           55   60     1                 x  J
      Exception table:
        from    to  target  type
          14    16      17  Class java.lang.Exception
          19    20      21  Class java.io.IOException
          14    19      24  any
          25    26      27  Class java.io.IOException
          30    31      32  Class java.io.IOException
          13    34      35  Class org.hibernate.HibernateException
          39    41      42  any
          42    43      42  any
          37    44      44  Class java.lang.SecurityException

  public static void verifyProperties(java.util.Map<?, ?>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.util.Map configurationValues
         0: .line 191
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* propertiesToAdd */
        start local 1 // java.util.Map propertiesToAdd
         1: .line 192
            aload 0 /* configurationValues */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         3: .line 193
            getstatic org.hibernate.cfg.Environment.OBSOLETE_PROPERTIES:Ljava/util/Map;
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* replacementKey */
        start local 4 // java.lang.Object replacementKey
         4: .line 194
            aload 4 /* replacementKey */
            ifnull 6
         5: .line 195
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aload 4 /* replacementKey */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unsupportedProperty:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 197
      StackMap locals: java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator java.lang.Object
      StackMap stack:
            getstatic org.hibernate.cfg.Environment.RENAMED_PROPERTIES:Ljava/util/Map;
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* renamedKey */
        start local 5 // java.lang.Object renamedKey
         7: .line 198
            aload 5 /* renamedKey */
            ifnull 10
         8: .line 199
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aload 5 /* renamedKey */
            invokeinterface org.hibernate.internal.CoreMessageLogger.renamedProperty:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 200
            aload 1 /* propertiesToAdd */
            aload 5 /* renamedKey */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.Object renamedKey
        end local 4 // java.lang.Object replacementKey
        end local 2 // java.util.Map$Entry entry
        10: .line 192
      StackMap locals: java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        11: .line 203
            aload 0 /* configurationValues */
            aload 1 /* propertiesToAdd */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        12: .line 204
            return
        end local 1 // java.util.Map propertiesToAdd
        end local 0 // java.util.Map configurationValues
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   13     0  configurationValues  Ljava/util/Map<**>;
            1   13     1      propertiesToAdd  Ljava/util/Map;
            3   10     2                entry  Ljava/util/Map$Entry;
            4   10     4       replacementKey  Ljava/lang/Object;
            7   10     5           renamedKey  Ljava/lang/Object;
    Signature: (Ljava/util/Map<**>;)V
    MethodParameters:
                     Name  Flags
      configurationValues  

  public static org.hibernate.bytecode.spi.BytecodeProvider getBytecodeProvider();
    descriptor: ()Lorg/hibernate/bytecode/spi/BytecodeProvider;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 275
            getstatic org.hibernate.cfg.Environment.BYTECODE_PROVIDER_INSTANCE:Lorg/hibernate/bytecode/spi/BytecodeProvider;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean jvmHasTimestampBug();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 288
            getstatic org.hibernate.cfg.Environment.JVM_HAS_TIMESTAMP_BUG:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean useStreamsForBinary();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 299
            getstatic org.hibernate.cfg.Environment.ENABLE_BINARY_STREAMS:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean useReflectionOptimizer();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 312
            getstatic org.hibernate.cfg.Environment.ENABLE_REFLECTION_OPTIMIZER:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.Environment this
         0: .line 318
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 319
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // org.hibernate.cfg.Environment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/cfg/Environment;

  public static java.util.Properties getProperties();
    descriptor: ()Ljava/util/Properties;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 328
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 0 /* copy */
        start local 0 // java.util.Properties copy
         1: .line 329
            aload 0 /* copy */
            getstatic org.hibernate.cfg.Environment.GLOBAL_PROPERTIES:Ljava/util/Properties;
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
         2: .line 330
            aload 0 /* copy */
            areturn
        end local 0 // java.util.Properties copy
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    3     0  copy  Ljava/util/Properties;

  public static java.lang.String isolationLevelToString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int isolation
         0: .line 341
            getstatic org.hibernate.cfg.Environment.ISOLATION_LEVELS:Ljava/util/Map;
            iload 0 /* isolation */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // int isolation
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  isolation  I
    MethodParameters:
           Name  Flags
      isolation  

  public static org.hibernate.bytecode.spi.BytecodeProvider buildBytecodeProvider(java.util.Properties);
    descriptor: (Ljava/util/Properties;)Lorg/hibernate/bytecode/spi/BytecodeProvider;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.Properties properties
         0: .line 345
            ldc "hibernate.bytecode.provider"
            aload 0 /* properties */
            ldc "javassist"
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getString:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* provider */
        start local 1 // java.lang.String provider
         1: .line 346
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 1 /* provider */
            invokeinterface org.hibernate.internal.CoreMessageLogger.bytecodeProvider:(Ljava/lang/String;)V
         2: .line 347
            aload 1 /* provider */
            invokestatic org.hibernate.cfg.Environment.buildBytecodeProvider:(Ljava/lang/String;)Lorg/hibernate/bytecode/spi/BytecodeProvider;
            areturn
        end local 1 // java.lang.String provider
        end local 0 // java.util.Properties properties
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  properties  Ljava/util/Properties;
            1    3     1    provider  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      properties  

  private static org.hibernate.bytecode.spi.BytecodeProvider buildBytecodeProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/bytecode/spi/BytecodeProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String providerName
         0: .line 351
            ldc "javassist"
            aload 0 /* providerName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 352
            new org.hibernate.bytecode.internal.javassist.BytecodeProviderImpl
            dup
            invokespecial org.hibernate.bytecode.internal.javassist.BytecodeProviderImpl.<init>:()V
            areturn
         2: .line 355
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.cfg.Environment.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 0 /* providerName */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unknownBytecodeProvider:(Ljava/lang/String;)V
         3: .line 356
            new org.hibernate.bytecode.internal.javassist.BytecodeProviderImpl
            dup
            invokespecial org.hibernate.bytecode.internal.javassist.BytecodeProviderImpl.<init>:()V
            areturn
        end local 0 // java.lang.String providerName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  providerName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      providerName  
}
SourceFile: "Environment.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map