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"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 27
            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 29
            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 35
            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 26
            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 39
            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.service.spi.SessionFactoryServiceInitiatorContext);
    descriptor: (Lorg/hibernate/service/spi/SessionFactoryServiceInitiatorContext;)Lorg/hibernate/stat/spi/StatisticsImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.stat.internal.StatisticsInitiator this
        start local 1 // org.hibernate.service.spi.SessionFactoryServiceInitiatorContext context
         0: .line 44
            aload 1 /* context */
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceInitiatorContext.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
         1: .line 45
            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
         2: .line 46
            invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSettings:()Ljava/util/Map;
         3: .line 47
            ldc "hibernate.stats.factory"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
         4: .line 44
            astore 2 /* configValue */
        start local 2 // java.lang.Object configValue
         5: .line 48
            aload 0 /* this */
            aload 1 /* context */
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceInitiatorContext.getSessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 2 /* configValue */
            aload 1 /* context */
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceInitiatorContext.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            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 2 // java.lang.Object configValue
        end local 1 // org.hibernate.service.spi.SessionFactoryServiceInitiatorContext context
        end local 0 // org.hibernate.stat.internal.StatisticsInitiator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/hibernate/stat/internal/StatisticsInitiator;
            0    6     1      context  Lorg/hibernate/service/spi/SessionFactoryServiceInitiatorContext;
            5    6     2  configValue  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      context  

  public org.hibernate.stat.spi.StatisticsImplementor initiateService(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.boot.spi.SessionFactoryOptions, org.hibernate.service.spi.ServiceRegistryImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/boot/spi/SessionFactoryOptions;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.boot.spi.SessionFactoryOptions sessionFactoryOptions
        start local 3 // org.hibernate.service.spi.ServiceRegistryImplementor registry
         0: .line 56
            aload 3 /* registry */
         1: .line 57
            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
         2: .line 58
            invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSettings:()Ljava/util/Map;
         3: .line 59
            ldc "hibernate.stats.factory"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
         4: .line 56
            astore 4 /* configValue */
        start local 4 // java.lang.Object configValue
         5: .line 60
            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.boot.spi.SessionFactoryOptions sessionFactoryOptions
        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    6     0                   this  Lorg/hibernate/stat/internal/StatisticsInitiator;
            0    6     1         sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0    6     2  sessionFactoryOptions  Lorg/hibernate/boot/spi/SessionFactoryOptions;
            0    6     3               registry  Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            5    6     4            configValue  Ljava/lang/Object;
    MethodParameters:
                       Name  Flags
      sessionFactory         
      sessionFactoryOptions  
      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 69
            aload 2 /* configValue */
            ifnonnull 3
         1: .line 70
            aconst_null
            astore 4 /* statisticsFactory */
        start local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
         2: .line 71
            goto 16
        end local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
         3: .line 72
      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 73
            aload 2 /* configValue */
            checkcast org.hibernate.stat.spi.StatisticsFactory
            astore 4 /* statisticsFactory */
        start local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
         5: .line 74
            goto 16
        end local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
         6: .line 77
      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 79
            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 80
            goto 16
        end local 4 // org.hibernate.stat.spi.StatisticsFactory statisticsFactory
         9: .line 81
      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 82
            aload 6 /* e */
            athrow
        end local 6 // org.hibernate.HibernateException e
        11: .line 84
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        12: .line 85
            new org.hibernate.HibernateException
            dup
        13: .line 86
            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 87
            aload 6 /* e */
        15: .line 85
            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 92
      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 */
            ifnonnull 19
        17: .line 94
            new org.hibernate.stat.internal.StatisticsImpl
            dup
            aload 1 /* sessionFactory */
            invokespecial org.hibernate.stat.internal.StatisticsImpl.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            astore 5 /* statistics */
        start local 5 // org.hibernate.stat.spi.StatisticsImplementor statistics
        18: .line 95
            goto 20
        end local 5 // org.hibernate.stat.spi.StatisticsImplementor statistics
        19: .line 97
      StackMap locals:
      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
        20: .line 99
      StackMap locals: org.hibernate.stat.spi.StatisticsImplementor
      StackMap stack:
            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
        21: .line 100
            aload 5 /* statistics */
            iload 6 /* enabled */
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.setStatisticsEnabled:(Z)V
        22: .line 101
            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
        23: .line 102
            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   24     0                this  Lorg/hibernate/stat/internal/StatisticsInitiator;
            0   24     1      sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0   24     2         configValue  Ljava/lang/Object;
            0   24     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   24     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;
           18   19     5          statistics  Lorg/hibernate/stat/spi/StatisticsImplementor;
           20   24     5          statistics  Lorg/hibernate/stat/spi/StatisticsImplementor;
           21   24     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.boot.spi.SessionFactoryOptions, org.hibernate.service.spi.ServiceRegistryImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/boot/spi/SessionFactoryOptions;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/boot/spi/SessionFactoryOptions;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.service.spi.SessionFactoryServiceInitiatorContext);
    descriptor: (Lorg/hibernate/service/spi/SessionFactoryServiceInitiatorContext;)Lorg/hibernate/service/Service;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.hibernate.stat.internal.StatisticsInitiator.initiateService:(Lorg/hibernate/service/spi/SessionFactoryServiceInitiatorContext;)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"