public class org.hibernate.stat.internal.StatisticsInitiator implements org.hibernate.service.spi.SessionFactoryServiceInitiator<org.hibernate.stat.spi.StatisticsImplementor>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.stat.internal.StatisticsInitiator
  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

  public static final org.hibernate.stat.internal.StatisticsInitiator INSTANCE;
    descriptor: Lorg/hibernate/stat/internal/StatisticsInitiator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String STATS_BUILDER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "hibernate.stats.factory"

  private static org.hibernate.stat.spi.StatisticsFactory DEFAULT_STATS_BUILDER;
    descriptor: Lorg/hibernate/stat/spi/StatisticsFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 44
            ldc Lorg/hibernate/internal/CoreMessageLogger;
            ldc Lorg/hibernate/stat/internal/StatisticsInitiator;
            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.stat.internal.StatisticsInitiator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 46
            new org.hibernate.stat.internal.StatisticsInitiator
            dup
            invokespecial org.hibernate.stat.internal.StatisticsInitiator.<init>:()V
            putstatic org.hibernate.stat.internal.StatisticsInitiator.INSTANCE:Lorg/hibernate/stat/internal/StatisticsInitiator;
         2: .line 114
            new org.hibernate.stat.internal.StatisticsInitiator$1
            dup
            invokespecial org.hibernate.stat.internal.StatisticsInitiator$1.<init>:()V
            putstatic org.hibernate.stat.internal.StatisticsInitiator.DEFAULT_STATS_BUILDER:Lorg/hibernate/stat/spi/StatisticsFactory;
         3: .line 119
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  public java.lang.Class<org.hibernate.stat.spi.StatisticsImplementor> getServiceInitiated();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.stat.internal.StatisticsInitiator this
         0: .line 56
            ldc Lorg/hibernate/stat/spi/StatisticsImplementor;
            areturn
        end local 0 // org.hibernate.stat.internal.StatisticsInitiator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/stat/internal/StatisticsInitiator;
    Signature: ()Ljava/lang/Class<Lorg/hibernate/stat/spi/StatisticsImplementor;>;

  public org.hibernate.stat.spi.StatisticsImplementor initiateService(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.cfg.Configuration, org.hibernate.service.spi.ServiceRegistryImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/cfg/Configuration;Lorg/hibernate/service/spi/ServiceRegistryImplementor;)Lorg/hibernate/stat/spi/StatisticsImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.hibernate.stat.internal.StatisticsInitiator this
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        start local 2 // org.hibernate.cfg.Configuration configuration
        start local 3 // org.hibernate.service.spi.ServiceRegistryImplementor registry
         0: .line 64
            aload 2 /* configuration */
            invokevirtual org.hibernate.cfg.Configuration.getProperties:()Ljava/util/Properties;
            ldc "hibernate.stats.factory"
            invokevirtual java.util.Properties.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* configValue */
        start local 4 // java.lang.Object configValue
         1: .line 65
            aload 0 /* this */
            aload 1 /* sessionFactory */
            aload 4 /* configValue */
            aload 3 /* registry */
            invokevirtual org.hibernate.stat.internal.StatisticsInitiator.initiateServiceInternal:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Ljava/lang/Object;Lorg/hibernate/service/spi/ServiceRegistryImplementor;)Lorg/hibernate/stat/spi/StatisticsImplementor;
            areturn
        end local 4 // java.lang.Object configValue
        end local 3 // org.hibernate.service.spi.ServiceRegistryImplementor registry
        end local 2 // org.hibernate.cfg.Configuration configuration
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        end local 0 // org.hibernate.stat.internal.StatisticsInitiator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/hibernate/stat/internal/StatisticsInitiator;
            0    2     1  sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0    2     2   configuration  Lorg/hibernate/cfg/Configuration;
            0    2     3        registry  Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            1    2     4     configValue  Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      sessionFactory  
      configuration   
      registry        

  public org.hibernate.stat.spi.StatisticsImplementor initiateService(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.metamodel.source.MetadataImplementor, org.hibernate.service.spi.ServiceRegistryImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/metamodel/source/MetadataImplementor;Lorg/hibernate/service/spi/ServiceRegistryImplementor;)Lorg/hibernate/stat/spi/StatisticsImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.hibernate.stat.internal.StatisticsInitiator this
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        start local 2 // org.hibernate.metamodel.source.MetadataImplementor metadata
        start local 3 // org.hibernate.service.spi.ServiceRegistryImplementor registry
         0: .line 73
            aload 3 /* registry */
            ldc Lorg/hibernate/engine/config/spi/ConfigurationService;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.config.spi.ConfigurationService
            astore 4 /* configurationService */
        start local 4 // org.hibernate.engine.config.spi.ConfigurationService configurationService
         1: .line 74
            aload 4 /* configurationService */
            ldc "hibernate.stats.factory"
            aconst_null
            invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSetting:(Ljava/lang/String;Lorg/hibernate/engine/config/spi/ConfigurationService$Converter;)Ljava/lang/Object;
            astore 5 /* configValue */
        start local 5 // java.lang.Object configValue
         2: .line 75
            aload 0 /* this */
            aload 1 /* sessionFactory */
            aload 5 /* configValue */
            aload 3 /* registry */
            invokevirtual org.hibernate.stat.internal.StatisticsInitiator.initiateServiceInternal:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Ljava/lang/Object;Lorg/hibernate/service/spi/ServiceRegistryImplementor;)Lorg/hibernate/stat/spi/StatisticsImplementor;
            areturn
        end local 5 // java.lang.Object configValue
        end local 4 // org.hibernate.engine.config.spi.ConfigurationService configurationService
        end local 3 // org.hibernate.service.spi.ServiceRegistryImplementor registry
        end local 2 // org.hibernate.metamodel.source.MetadataImplementor metadata
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        end local 0 // org.hibernate.stat.internal.StatisticsInitiator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    3     0                  this  Lorg/hibernate/stat/internal/StatisticsInitiator;
            0    3     1        sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0    3     2              metadata  Lorg/hibernate/metamodel/source/MetadataImplementor;
            0    3     3              registry  Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            1    3     4  configurationService  Lorg/hibernate/engine/config/spi/ConfigurationService;
            2    3     5           configValue  Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      sessionFactory  
      metadata        
      registry        

  private org.hibernate.stat.spi.StatisticsImplementor initiateServiceInternal(org.hibernate.engine.spi.SessionFactoryImplementor, java.lang.Object, org.hibernate.service.spi.ServiceRegistryImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Ljava/lang/Object;Lorg/hibernate/service/spi/ServiceRegistryImplementor;)Lorg/hibernate/stat/spi/StatisticsImplementor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.hibernate.stat.internal.StatisticsInitiator this
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        start local 2 // java.lang.Object configValue
        start local 3 // org.hibernate.service.spi.ServiceRegistryImplementor registry
         0: .line 84
            aload 2 /* configValue */
            ifnonnull 3
         1: .line 85
            getstatic org.hibernate.stat.internal.StatisticsInitiator.DEFAULT_STATS_BUILDER:Lorg/hibernate/stat/spi/StatisticsFactory;
            astore 4 /* statisticsFactory */
        start local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
         2: .line 86
            goto 16
        end local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
         3: .line 87
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/stat/spi/StatisticsFactory;
            aload 2 /* configValue */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 88
            aload 2 /* configValue */
            checkcast org.hibernate.stat.spi.StatisticsFactory
            astore 4 /* statisticsFactory */
        start local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
         5: .line 89
            goto 16
        end local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
         6: .line 92
      StackMap locals:
      StackMap stack:
            aload 3 /* registry */
            ldc Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.boot.registry.classloading.spi.ClassLoaderService
            astore 5 /* classLoaderService */
        start local 5 // org.hibernate.boot.registry.classloading.spi.ClassLoaderService classLoaderService
         7: .line 94
            aload 5 /* classLoaderService */
            aload 2 /* configValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.boot.registry.classloading.spi.ClassLoaderService.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.hibernate.stat.spi.StatisticsFactory
            astore 4 /* statisticsFactory */
        start local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
         8: .line 95
            goto 16
        end local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
         9: .line 96
      StackMap locals: org.hibernate.stat.internal.StatisticsInitiator org.hibernate.engine.spi.SessionFactoryImplementor java.lang.Object org.hibernate.service.spi.ServiceRegistryImplementor top org.hibernate.boot.registry.classloading.spi.ClassLoaderService
      StackMap stack: org.hibernate.HibernateException
            astore 6 /* e */
        start local 6 // org.hibernate.HibernateException e
        10: .line 97
            aload 6 /* e */
            athrow
        end local 6 // org.hibernate.HibernateException e
        11: .line 99
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        12: .line 100
            new org.hibernate.HibernateException
            dup
        13: .line 101
            new java.lang.StringBuilder
            dup
            ldc "Unable to instantiate specified StatisticsFactory implementation ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* configValue */
            invokevirtual java.lang.Object.toString:()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;
        14: .line 102
            aload 6 /* e */
        15: .line 100
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception e
        end local 5 // org.hibernate.boot.registry.classloading.spi.ClassLoaderService classLoaderService
        start local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
        16: .line 107
      StackMap locals: org.hibernate.stat.internal.StatisticsInitiator org.hibernate.engine.spi.SessionFactoryImplementor java.lang.Object org.hibernate.service.spi.ServiceRegistryImplementor org.hibernate.stat.spi.StatisticsFactory
      StackMap stack:
            aload 4 /* statisticsFactory */
            aload 1 /* sessionFactory */
            invokeinterface org.hibernate.stat.spi.StatisticsFactory.buildStatistics:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/stat/spi/StatisticsImplementor;
            astore 5 /* statistics */
        start local 5 // org.hibernate.stat.spi.StatisticsImplementor statistics
        17: .line 108
            aload 1 /* sessionFactory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isStatisticsEnabled:()Z
            istore 6 /* enabled */
        start local 6 // boolean enabled
        18: .line 109
            aload 5 /* statistics */
            iload 6 /* enabled */
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.setStatisticsEnabled:(Z)V
        19: .line 110
            getstatic org.hibernate.stat.internal.StatisticsInitiator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Statistics initialized [enabled=%s]"
            iload 6 /* enabled */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        20: .line 111
            aload 5 /* statistics */
            areturn
        end local 6 // boolean enabled
        end local 5 // org.hibernate.stat.spi.StatisticsImplementor statistics
        end local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
        end local 3 // org.hibernate.service.spi.ServiceRegistryImplementor registry
        end local 2 // java.lang.Object configValue
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        end local 0 // org.hibernate.stat.internal.StatisticsInitiator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   21     0                this  Lorg/hibernate/stat/internal/StatisticsInitiator;
            0   21     1      sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0   21     2         configValue  Ljava/lang/Object;
            0   21     3            registry  Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            2    3     4   statisticsFactory  Lorg/hibernate/stat/spi/StatisticsFactory;
            5    6     4   statisticsFactory  Lorg/hibernate/stat/spi/StatisticsFactory;
            8    9     4   statisticsFactory  Lorg/hibernate/stat/spi/StatisticsFactory;
           16   21     4   statisticsFactory  Lorg/hibernate/stat/spi/StatisticsFactory;
            7   16     5  classLoaderService  Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
           10   11     6                   e  Lorg/hibernate/HibernateException;
           12   16     6                   e  Ljava/lang/Exception;
           17   21     5          statistics  Lorg/hibernate/stat/spi/StatisticsImplementor;
           18   21     6             enabled  Z
      Exception table:
        from    to  target  type
           7     8       9  Class org.hibernate.HibernateException
           7     8      11  Class java.lang.Exception
    MethodParameters:
                Name  Flags
      sessionFactory  
      configValue     
      registry        

  public org.hibernate.service.Service initiateService(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.metamodel.source.MetadataImplementor, org.hibernate.service.spi.ServiceRegistryImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/metamodel/source/MetadataImplementor;Lorg/hibernate/service/spi/ServiceRegistryImplementor;)Lorg/hibernate/service/Service;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual org.hibernate.stat.internal.StatisticsInitiator.initiateService:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/metamodel/source/MetadataImplementor;Lorg/hibernate/service/spi/ServiceRegistryImplementor;)Lorg/hibernate/stat/spi/StatisticsImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.service.Service initiateService(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.cfg.Configuration, org.hibernate.service.spi.ServiceRegistryImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/cfg/Configuration;Lorg/hibernate/service/spi/ServiceRegistryImplementor;)Lorg/hibernate/service/Service;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual org.hibernate.stat.internal.StatisticsInitiator.initiateService:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/cfg/Configuration;Lorg/hibernate/service/spi/ServiceRegistryImplementor;)Lorg/hibernate/stat/spi/StatisticsImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/hibernate/service/spi/SessionFactoryServiceInitiator<Lorg/hibernate/stat/spi/StatisticsImplementor;>;
SourceFile: "StatisticsInitiator.java"
NestMembers:
  org.hibernate.stat.internal.StatisticsInitiator$1
InnerClasses:
  public abstract Converter = org.hibernate.engine.config.spi.ConfigurationService$Converter of org.hibernate.engine.config.spi.ConfigurationService
  org.hibernate.stat.internal.StatisticsInitiator$1