public class io.dropwizard.hibernate.SessionFactoryFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.dropwizard.hibernate.SessionFactoryFactory
  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 static final java.lang.String DEFAULT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "hibernate"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 23
            ldc Lio/dropwizard/hibernate/SessionFactoryFactory;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic io.dropwizard.hibernate.SessionFactoryFactory.LOGGER:Lorg/slf4j/Logger;
         1: .line 24
            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 // io.dropwizard.hibernate.SessionFactoryFactory this
         0: .line 22
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/hibernate/SessionFactoryFactory;

  public org.hibernate.SessionFactory build(io.dropwizard.hibernate.HibernateBundle<?>, io.dropwizard.setup.Environment, io.dropwizard.db.PooledDataSourceFactory, java.util.List<java.lang.Class<?>>);
    descriptor: (Lio/dropwizard/hibernate/HibernateBundle;Lio/dropwizard/setup/Environment;Lio/dropwizard/db/PooledDataSourceFactory;Ljava/util/List;)Lorg/hibernate/SessionFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
        start local 1 // io.dropwizard.hibernate.HibernateBundle bundle
        start local 2 // io.dropwizard.setup.Environment environment
        start local 3 // io.dropwizard.db.PooledDataSourceFactory dbConfig
        start local 4 // java.util.List entities
         0: .line 30
            aload 0 /* this */
            aload 1 /* bundle */
            aload 2 /* environment */
            aload 3 /* dbConfig */
            aload 4 /* entities */
            ldc "hibernate"
            invokevirtual io.dropwizard.hibernate.SessionFactoryFactory.build:(Lio/dropwizard/hibernate/HibernateBundle;Lio/dropwizard/setup/Environment;Lio/dropwizard/db/PooledDataSourceFactory;Ljava/util/List;Ljava/lang/String;)Lorg/hibernate/SessionFactory;
            areturn
        end local 4 // java.util.List entities
        end local 3 // io.dropwizard.db.PooledDataSourceFactory dbConfig
        end local 2 // io.dropwizard.setup.Environment environment
        end local 1 // io.dropwizard.hibernate.HibernateBundle bundle
        end local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/dropwizard/hibernate/SessionFactoryFactory;
            0    1     1       bundle  Lio/dropwizard/hibernate/HibernateBundle<*>;
            0    1     2  environment  Lio/dropwizard/setup/Environment;
            0    1     3     dbConfig  Lio/dropwizard/db/PooledDataSourceFactory;
            0    1     4     entities  Ljava/util/List<Ljava/lang/Class<*>;>;
    Signature: (Lio/dropwizard/hibernate/HibernateBundle<*>;Lio/dropwizard/setup/Environment;Lio/dropwizard/db/PooledDataSourceFactory;Ljava/util/List<Ljava/lang/Class<*>;>;)Lorg/hibernate/SessionFactory;
    MethodParameters:
             Name  Flags
      bundle       
      environment  
      dbConfig     
      entities     

  public org.hibernate.SessionFactory build(io.dropwizard.hibernate.HibernateBundle<?>, io.dropwizard.setup.Environment, io.dropwizard.db.PooledDataSourceFactory, java.util.List<java.lang.Class<?>>, java.lang.String);
    descriptor: (Lio/dropwizard/hibernate/HibernateBundle;Lio/dropwizard/setup/Environment;Lio/dropwizard/db/PooledDataSourceFactory;Ljava/util/List;Ljava/lang/String;)Lorg/hibernate/SessionFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
        start local 1 // io.dropwizard.hibernate.HibernateBundle bundle
        start local 2 // io.dropwizard.setup.Environment environment
        start local 3 // io.dropwizard.db.PooledDataSourceFactory dbConfig
        start local 4 // java.util.List entities
        start local 5 // java.lang.String name
         0: .line 38
            aload 3 /* dbConfig */
            aload 2 /* environment */
            invokevirtual io.dropwizard.setup.Environment.metrics:()Lcom/codahale/metrics/MetricRegistry;
            aload 5 /* name */
            invokeinterface io.dropwizard.db.PooledDataSourceFactory.build:(Lcom/codahale/metrics/MetricRegistry;Ljava/lang/String;)Lio/dropwizard/db/ManagedDataSource;
            astore 6 /* dataSource */
        start local 6 // io.dropwizard.db.ManagedDataSource dataSource
         1: .line 39
            aload 0 /* this */
            aload 1 /* bundle */
            aload 2 /* environment */
            aload 3 /* dbConfig */
            aload 6 /* dataSource */
            aload 4 /* entities */
            invokevirtual io.dropwizard.hibernate.SessionFactoryFactory.build:(Lio/dropwizard/hibernate/HibernateBundle;Lio/dropwizard/setup/Environment;Lio/dropwizard/db/PooledDataSourceFactory;Lio/dropwizard/db/ManagedDataSource;Ljava/util/List;)Lorg/hibernate/SessionFactory;
            areturn
        end local 6 // io.dropwizard.db.ManagedDataSource dataSource
        end local 5 // java.lang.String name
        end local 4 // java.util.List entities
        end local 3 // io.dropwizard.db.PooledDataSourceFactory dbConfig
        end local 2 // io.dropwizard.setup.Environment environment
        end local 1 // io.dropwizard.hibernate.HibernateBundle bundle
        end local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/dropwizard/hibernate/SessionFactoryFactory;
            0    2     1       bundle  Lio/dropwizard/hibernate/HibernateBundle<*>;
            0    2     2  environment  Lio/dropwizard/setup/Environment;
            0    2     3     dbConfig  Lio/dropwizard/db/PooledDataSourceFactory;
            0    2     4     entities  Ljava/util/List<Ljava/lang/Class<*>;>;
            0    2     5         name  Ljava/lang/String;
            1    2     6   dataSource  Lio/dropwizard/db/ManagedDataSource;
    Signature: (Lio/dropwizard/hibernate/HibernateBundle<*>;Lio/dropwizard/setup/Environment;Lio/dropwizard/db/PooledDataSourceFactory;Ljava/util/List<Ljava/lang/Class<*>;>;Ljava/lang/String;)Lorg/hibernate/SessionFactory;
    MethodParameters:
             Name  Flags
      bundle       
      environment  
      dbConfig     
      entities     
      name         

  public org.hibernate.SessionFactory build(io.dropwizard.hibernate.HibernateBundle<?>, io.dropwizard.setup.Environment, io.dropwizard.db.PooledDataSourceFactory, io.dropwizard.db.ManagedDataSource, java.util.List<java.lang.Class<?>>);
    descriptor: (Lio/dropwizard/hibernate/HibernateBundle;Lio/dropwizard/setup/Environment;Lio/dropwizard/db/PooledDataSourceFactory;Lio/dropwizard/db/ManagedDataSource;Ljava/util/List;)Lorg/hibernate/SessionFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
        start local 1 // io.dropwizard.hibernate.HibernateBundle bundle
        start local 2 // io.dropwizard.setup.Environment environment
        start local 3 // io.dropwizard.db.PooledDataSourceFactory dbConfig
        start local 4 // io.dropwizard.db.ManagedDataSource dataSource
        start local 5 // java.util.List entities
         0: .line 47
            aload 0 /* this */
            aload 4 /* dataSource */
         1: .line 48
            aload 3 /* dbConfig */
            invokeinterface io.dropwizard.db.PooledDataSourceFactory.getProperties:()Ljava/util/Map;
         2: .line 47
            invokevirtual io.dropwizard.hibernate.SessionFactoryFactory.buildConnectionProvider:(Ljavax/sql/DataSource;Ljava/util/Map;)Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
            astore 6 /* provider */
        start local 6 // org.hibernate.engine.jdbc.connections.spi.ConnectionProvider provider
         3: .line 49
            aload 0 /* this */
            aload 1 /* bundle */
         4: .line 50
            aload 3 /* dbConfig */
         5: .line 51
            aload 6 /* provider */
         6: .line 52
            aload 3 /* dbConfig */
            invokeinterface io.dropwizard.db.PooledDataSourceFactory.getProperties:()Ljava/util/Map;
         7: .line 53
            aload 5 /* entities */
         8: .line 49
            invokevirtual io.dropwizard.hibernate.SessionFactoryFactory.buildSessionFactory:(Lio/dropwizard/hibernate/HibernateBundle;Lio/dropwizard/db/PooledDataSourceFactory;Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;Ljava/util/Map;Ljava/util/List;)Lorg/hibernate/SessionFactory;
            astore 7 /* factory */
        start local 7 // org.hibernate.SessionFactory factory
         9: .line 54
            new io.dropwizard.hibernate.SessionFactoryManager
            dup
            aload 7 /* factory */
            aload 4 /* dataSource */
            invokespecial io.dropwizard.hibernate.SessionFactoryManager.<init>:(Lorg/hibernate/SessionFactory;Lio/dropwizard/db/ManagedDataSource;)V
            astore 8 /* managedFactory */
        start local 8 // io.dropwizard.hibernate.SessionFactoryManager managedFactory
        10: .line 55
            aload 2 /* environment */
            invokevirtual io.dropwizard.setup.Environment.lifecycle:()Lio/dropwizard/lifecycle/setup/LifecycleEnvironment;
            aload 8 /* managedFactory */
            invokevirtual io.dropwizard.lifecycle.setup.LifecycleEnvironment.manage:(Lio/dropwizard/lifecycle/Managed;)V
        11: .line 56
            aload 7 /* factory */
            areturn
        end local 8 // io.dropwizard.hibernate.SessionFactoryManager managedFactory
        end local 7 // org.hibernate.SessionFactory factory
        end local 6 // org.hibernate.engine.jdbc.connections.spi.ConnectionProvider provider
        end local 5 // java.util.List entities
        end local 4 // io.dropwizard.db.ManagedDataSource dataSource
        end local 3 // io.dropwizard.db.PooledDataSourceFactory dbConfig
        end local 2 // io.dropwizard.setup.Environment environment
        end local 1 // io.dropwizard.hibernate.HibernateBundle bundle
        end local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lio/dropwizard/hibernate/SessionFactoryFactory;
            0   12     1          bundle  Lio/dropwizard/hibernate/HibernateBundle<*>;
            0   12     2     environment  Lio/dropwizard/setup/Environment;
            0   12     3        dbConfig  Lio/dropwizard/db/PooledDataSourceFactory;
            0   12     4      dataSource  Lio/dropwizard/db/ManagedDataSource;
            0   12     5        entities  Ljava/util/List<Ljava/lang/Class<*>;>;
            3   12     6        provider  Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
            9   12     7         factory  Lorg/hibernate/SessionFactory;
           10   12     8  managedFactory  Lio/dropwizard/hibernate/SessionFactoryManager;
    Signature: (Lio/dropwizard/hibernate/HibernateBundle<*>;Lio/dropwizard/setup/Environment;Lio/dropwizard/db/PooledDataSourceFactory;Lio/dropwizard/db/ManagedDataSource;Ljava/util/List<Ljava/lang/Class<*>;>;)Lorg/hibernate/SessionFactory;
    MethodParameters:
             Name  Flags
      bundle       
      environment  
      dbConfig     
      dataSource   
      entities     

  private org.hibernate.engine.jdbc.connections.spi.ConnectionProvider buildConnectionProvider(javax.sql.DataSource, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljavax/sql/DataSource;Ljava/util/Map;)Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
        start local 1 // javax.sql.DataSource dataSource
        start local 2 // java.util.Map properties
         0: .line 61
            new org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl
            dup
            invokespecial org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.<init>:()V
            astore 3 /* connectionProvider */
        start local 3 // org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl connectionProvider
         1: .line 62
            aload 3 /* connectionProvider */
            aload 1 /* dataSource */
            invokevirtual org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.setDataSource:(Ljavax/sql/DataSource;)V
         2: .line 63
            aload 3 /* connectionProvider */
            aload 2 /* properties */
            invokevirtual org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.configure:(Ljava/util/Map;)V
         3: .line 64
            aload 3 /* connectionProvider */
            areturn
        end local 3 // org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl connectionProvider
        end local 2 // java.util.Map properties
        end local 1 // javax.sql.DataSource dataSource
        end local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lio/dropwizard/hibernate/SessionFactoryFactory;
            0    4     1          dataSource  Ljavax/sql/DataSource;
            0    4     2          properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    4     3  connectionProvider  Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
    Signature: (Ljavax/sql/DataSource;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
    MethodParameters:
            Name  Flags
      dataSource  
      properties  

  private org.hibernate.SessionFactory buildSessionFactory(io.dropwizard.hibernate.HibernateBundle<?>, io.dropwizard.db.PooledDataSourceFactory, org.hibernate.engine.jdbc.connections.spi.ConnectionProvider, java.util.Map<java.lang.String, java.lang.String>, java.util.List<java.lang.Class<?>>);
    descriptor: (Lio/dropwizard/hibernate/HibernateBundle;Lio/dropwizard/db/PooledDataSourceFactory;Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;Ljava/util/Map;Ljava/util/List;)Lorg/hibernate/SessionFactory;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=6
        start local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
        start local 1 // io.dropwizard.hibernate.HibernateBundle bundle
        start local 2 // io.dropwizard.db.PooledDataSourceFactory dbConfig
        start local 3 // org.hibernate.engine.jdbc.connections.spi.ConnectionProvider connectionProvider
        start local 4 // java.util.Map properties
        start local 5 // java.util.List entities
         0: .line 72
            new org.hibernate.cfg.Configuration
            dup
            invokespecial org.hibernate.cfg.Configuration.<init>:()V
            astore 6 /* configuration */
        start local 6 // org.hibernate.cfg.Configuration configuration
         1: .line 73
            aload 6 /* configuration */
            ldc "hibernate.current_session_context_class"
            ldc "managed"
            invokevirtual org.hibernate.cfg.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
         2: .line 74
            aload 6 /* configuration */
            ldc "hibernate.use_sql_comments"
            aload 2 /* dbConfig */
            invokeinterface io.dropwizard.db.PooledDataSourceFactory.isAutoCommentsEnabled:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            invokevirtual org.hibernate.cfg.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
         3: .line 75
            aload 6 /* configuration */
            ldc "hibernate.jdbc.use_get_generated_keys"
            ldc "true"
            invokevirtual org.hibernate.cfg.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
         4: .line 76
            aload 6 /* configuration */
            ldc "hibernate.generate_statistics"
            ldc "true"
            invokevirtual org.hibernate.cfg.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
         5: .line 77
            aload 6 /* configuration */
            ldc "hibernate.bytecode.use_reflection_optimizer"
            ldc "true"
            invokevirtual org.hibernate.cfg.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
         6: .line 78
            aload 6 /* configuration */
            ldc "hibernate.order_updates"
            ldc "true"
            invokevirtual org.hibernate.cfg.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
         7: .line 79
            aload 6 /* configuration */
            ldc "hibernate.order_inserts"
            ldc "true"
            invokevirtual org.hibernate.cfg.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
         8: .line 80
            aload 6 /* configuration */
            ldc "hibernate.id.new_generator_mappings"
            ldc "true"
            invokevirtual org.hibernate.cfg.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
         9: .line 81
            aload 6 /* configuration */
            ldc "jadira.usertype.autoRegisterUserTypes"
            ldc "true"
            invokevirtual org.hibernate.cfg.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
        10: .line 82
            aload 4 /* properties */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 13
      StackMap locals: io.dropwizard.hibernate.SessionFactoryFactory io.dropwizard.hibernate.HibernateBundle io.dropwizard.db.PooledDataSourceFactory org.hibernate.engine.jdbc.connections.spi.ConnectionProvider java.util.Map java.util.List org.hibernate.cfg.Configuration top java.util.Iterator
      StackMap stack:
        11: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* property */
        start local 7 // java.util.Map$Entry property
        12: .line 83
            aload 6 /* configuration */
            aload 7 /* property */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 7 /* property */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.hibernate.cfg.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
        end local 7 // java.util.Map$Entry property
        13: .line 82
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 86
            aload 0 /* this */
            aload 6 /* configuration */
            aload 5 /* entities */
            invokevirtual io.dropwizard.hibernate.SessionFactoryFactory.addAnnotatedClasses:(Lorg/hibernate/cfg/Configuration;Ljava/lang/Iterable;)V
        15: .line 87
            aload 1 /* bundle */
            aload 6 /* configuration */
            invokevirtual io.dropwizard.hibernate.HibernateBundle.configure:(Lorg/hibernate/cfg/Configuration;)V
        16: .line 89
            new org.hibernate.boot.registry.StandardServiceRegistryBuilder
            dup
            invokespecial org.hibernate.boot.registry.StandardServiceRegistryBuilder.<init>:()V
        17: .line 90
            ldc Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
            aload 3 /* connectionProvider */
            invokevirtual org.hibernate.boot.registry.StandardServiceRegistryBuilder.addService:(Ljava/lang/Class;Lorg/hibernate/service/Service;)Lorg/hibernate/boot/registry/StandardServiceRegistryBuilder;
        18: .line 91
            aload 6 /* configuration */
            invokevirtual org.hibernate.cfg.Configuration.getProperties:()Ljava/util/Properties;
            invokevirtual org.hibernate.boot.registry.StandardServiceRegistryBuilder.applySettings:(Ljava/util/Map;)Lorg/hibernate/boot/registry/StandardServiceRegistryBuilder;
        19: .line 92
            invokevirtual org.hibernate.boot.registry.StandardServiceRegistryBuilder.build:()Lorg/hibernate/boot/registry/StandardServiceRegistry;
        20: .line 89
            astore 7 /* registry */
        start local 7 // org.hibernate.service.ServiceRegistry registry
        21: .line 94
            aload 0 /* this */
            aload 6 /* configuration */
            aload 7 /* registry */
            invokevirtual io.dropwizard.hibernate.SessionFactoryFactory.configure:(Lorg/hibernate/cfg/Configuration;Lorg/hibernate/service/ServiceRegistry;)V
        22: .line 96
            aload 6 /* configuration */
            aload 7 /* registry */
            invokevirtual org.hibernate.cfg.Configuration.buildSessionFactory:(Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/SessionFactory;
            areturn
        end local 7 // org.hibernate.service.ServiceRegistry registry
        end local 6 // org.hibernate.cfg.Configuration configuration
        end local 5 // java.util.List entities
        end local 4 // java.util.Map properties
        end local 3 // org.hibernate.engine.jdbc.connections.spi.ConnectionProvider connectionProvider
        end local 2 // io.dropwizard.db.PooledDataSourceFactory dbConfig
        end local 1 // io.dropwizard.hibernate.HibernateBundle bundle
        end local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0                this  Lio/dropwizard/hibernate/SessionFactoryFactory;
            0   23     1              bundle  Lio/dropwizard/hibernate/HibernateBundle<*>;
            0   23     2            dbConfig  Lio/dropwizard/db/PooledDataSourceFactory;
            0   23     3  connectionProvider  Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
            0   23     4          properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   23     5            entities  Ljava/util/List<Ljava/lang/Class<*>;>;
            1   23     6       configuration  Lorg/hibernate/cfg/Configuration;
           12   13     7            property  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           21   23     7            registry  Lorg/hibernate/service/ServiceRegistry;
    Signature: (Lio/dropwizard/hibernate/HibernateBundle<*>;Lio/dropwizard/db/PooledDataSourceFactory;Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/List<Ljava/lang/Class<*>;>;)Lorg/hibernate/SessionFactory;
    MethodParameters:
                    Name  Flags
      bundle              
      dbConfig            
      connectionProvider  
      properties          
      entities            

  protected void configure(org.hibernate.cfg.Configuration, org.hibernate.service.ServiceRegistry);
    descriptor: (Lorg/hibernate/cfg/Configuration;Lorg/hibernate/service/ServiceRegistry;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
        start local 1 // org.hibernate.cfg.Configuration configuration
        start local 2 // org.hibernate.service.ServiceRegistry registry
         0: .line 100
            return
        end local 2 // org.hibernate.service.ServiceRegistry registry
        end local 1 // org.hibernate.cfg.Configuration configuration
        end local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lio/dropwizard/hibernate/SessionFactoryFactory;
            0    1     1  configuration  Lorg/hibernate/cfg/Configuration;
            0    1     2       registry  Lorg/hibernate/service/ServiceRegistry;
    MethodParameters:
               Name  Flags
      configuration  
      registry       

  private void addAnnotatedClasses(org.hibernate.cfg.Configuration, java.lang.Iterable<java.lang.Class<?>>);
    descriptor: (Lorg/hibernate/cfg/Configuration;Ljava/lang/Iterable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
        start local 1 // org.hibernate.cfg.Configuration configuration
        start local 2 // java.lang.Iterable entities
         0: .line 104
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 3 /* entityClasses */
        start local 3 // java.util.SortedSet entityClasses
         1: .line 105
            aload 2 /* entities */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: io.dropwizard.hibernate.SessionFactoryFactory org.hibernate.cfg.Configuration java.lang.Iterable java.util.SortedSet top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* klass */
        start local 4 // java.lang.Class klass
         3: .line 106
            aload 1 /* configuration */
            aload 4 /* klass */
            invokevirtual org.hibernate.cfg.Configuration.addAnnotatedClass:(Ljava/lang/Class;)Lorg/hibernate/cfg/Configuration;
            pop
         4: .line 107
            aload 3 /* entityClasses */
            aload 4 /* klass */
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            invokeinterface java.util.SortedSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Class klass
         5: .line 105
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 109
            getstatic io.dropwizard.hibernate.SessionFactoryFactory.LOGGER:Lorg/slf4j/Logger;
            ldc "Entity classes: {}"
            aload 3 /* entityClasses */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 110
            return
        end local 3 // java.util.SortedSet entityClasses
        end local 2 // java.lang.Iterable entities
        end local 1 // org.hibernate.cfg.Configuration configuration
        end local 0 // io.dropwizard.hibernate.SessionFactoryFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lio/dropwizard/hibernate/SessionFactoryFactory;
            0    8     1  configuration  Lorg/hibernate/cfg/Configuration;
            0    8     2       entities  Ljava/lang/Iterable<Ljava/lang/Class<*>;>;
            1    8     3  entityClasses  Ljava/util/SortedSet<Ljava/lang/String;>;
            3    5     4          klass  Ljava/lang/Class<*>;
    Signature: (Lorg/hibernate/cfg/Configuration;Ljava/lang/Iterable<Ljava/lang/Class<*>;>;)V
    MethodParameters:
               Name  Flags
      configuration  
      entities       
}
SourceFile: "SessionFactoryFactory.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map