public class org.hibernate.metamodel.source.internal.MetadataBuilderImpl implements org.hibernate.metamodel.MetadataBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.metamodel.source.internal.MetadataBuilderImpl
  super_class: java.lang.Object
{
  private static final org.jboss.logging.Logger log;
    descriptor: Lorg/jboss/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.hibernate.metamodel.MetadataSources sources;
    descriptor: Lorg/hibernate/metamodel/MetadataSources;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl options;
    descriptor: Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl$OptionsImpl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            ldc Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl;
            invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
            putstatic org.hibernate.metamodel.source.internal.MetadataBuilderImpl.log:Lorg/jboss/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.metamodel.MetadataSources);
    descriptor: (Lorg/hibernate/metamodel/MetadataSources;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
        start local 1 // org.hibernate.metamodel.MetadataSources sources
         0: .line 55
            aload 0 /* this */
         1: .line 56
            aload 1 /* sources */
         2: .line 57
            aload 1 /* sources */
            invokevirtual org.hibernate.metamodel.MetadataSources.getServiceRegistry:()Lorg/hibernate/service/ServiceRegistry;
            invokestatic org.hibernate.metamodel.source.internal.MetadataBuilderImpl.getStandardServiceRegistry:(Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/boot/registry/StandardServiceRegistry;
            invokespecial org.hibernate.metamodel.source.internal.MetadataBuilderImpl.<init>:(Lorg/hibernate/metamodel/MetadataSources;Lorg/hibernate/boot/registry/StandardServiceRegistry;)V
         3: .line 59
            return
        end local 1 // org.hibernate.metamodel.MetadataSources sources
        end local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl;
            0    4     1  sources  Lorg/hibernate/metamodel/MetadataSources;
    MethodParameters:
         Name  Flags
      sources  

  private static org.hibernate.boot.registry.StandardServiceRegistry getStandardServiceRegistry(org.hibernate.service.ServiceRegistry);
    descriptor: (Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/boot/registry/StandardServiceRegistry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.hibernate.service.ServiceRegistry serviceRegistry
         0: .line 62
            aload 0 /* serviceRegistry */
            ifnonnull 2
         1: .line 63
            new org.hibernate.HibernateException
            dup
            ldc "ServiceRegistry passed to MetadataBuilder cannot be null"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 66
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/boot/registry/StandardServiceRegistry;
            aload 0 /* serviceRegistry */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 67
            aload 0 /* serviceRegistry */
            checkcast org.hibernate.boot.registry.StandardServiceRegistry
            areturn
         4: .line 69
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/boot/registry/BootstrapServiceRegistry;
            aload 0 /* serviceRegistry */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 9
         5: .line 70
            getstatic org.hibernate.metamodel.source.internal.MetadataBuilderImpl.log:Lorg/jboss/logging/Logger;
         6: .line 71
            ldc "ServiceRegistry passed to MetadataBuilder was a BootstrapServiceRegistry; this likely wont end wellif attempt is made to build SessionFactory"
            iconst_0
            anewarray java.lang.Object
         7: .line 70
            invokevirtual org.jboss.logging.Logger.debugf:(Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 74
            new org.hibernate.boot.registry.StandardServiceRegistryBuilder
            dup
            aload 0 /* serviceRegistry */
            checkcast org.hibernate.boot.registry.BootstrapServiceRegistry
            invokespecial org.hibernate.boot.registry.StandardServiceRegistryBuilder.<init>:(Lorg/hibernate/boot/registry/BootstrapServiceRegistry;)V
            invokevirtual org.hibernate.boot.registry.StandardServiceRegistryBuilder.build:()Lorg/hibernate/boot/registry/StandardServiceRegistry;
            areturn
         9: .line 77
      StackMap locals:
      StackMap stack:
            new org.hibernate.HibernateException
            dup
        10: .line 79
            ldc "Unexpected type of ServiceRegistry [%s] encountered in attempt to build MetadataBuilder"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        11: .line 80
            aload 0 /* serviceRegistry */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        12: .line 78
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        13: .line 77
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.hibernate.service.ServiceRegistry serviceRegistry
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0  serviceRegistry  Lorg/hibernate/service/ServiceRegistry;
    MethodParameters:
                 Name  Flags
      serviceRegistry  

  public void <init>(org.hibernate.metamodel.MetadataSources, org.hibernate.boot.registry.StandardServiceRegistry);
    descriptor: (Lorg/hibernate/metamodel/MetadataSources;Lorg/hibernate/boot/registry/StandardServiceRegistry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
        start local 1 // org.hibernate.metamodel.MetadataSources sources
        start local 2 // org.hibernate.boot.registry.StandardServiceRegistry serviceRegistry
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 87
            aload 0 /* this */
            aload 1 /* sources */
            putfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl.sources:Lorg/hibernate/metamodel/MetadataSources;
         2: .line 88
            aload 0 /* this */
            new org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl
            dup
            aload 2 /* serviceRegistry */
            invokespecial org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl.<init>:(Lorg/hibernate/boot/registry/StandardServiceRegistry;)V
            putfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl.options:Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl$OptionsImpl;
         3: .line 89
            return
        end local 2 // org.hibernate.boot.registry.StandardServiceRegistry serviceRegistry
        end local 1 // org.hibernate.metamodel.MetadataSources sources
        end local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl;
            0    4     1          sources  Lorg/hibernate/metamodel/MetadataSources;
            0    4     2  serviceRegistry  Lorg/hibernate/boot/registry/StandardServiceRegistry;
    MethodParameters:
                 Name  Flags
      sources          
      serviceRegistry  

  public org.hibernate.metamodel.MetadataBuilder with(org.hibernate.cfg.NamingStrategy);
    descriptor: (Lorg/hibernate/cfg/NamingStrategy;)Lorg/hibernate/metamodel/MetadataBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
        start local 1 // org.hibernate.cfg.NamingStrategy namingStrategy
         0: .line 93
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl.options:Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl$OptionsImpl;
            aload 1 /* namingStrategy */
            putfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl.namingStrategy:Lorg/hibernate/cfg/NamingStrategy;
         1: .line 94
            aload 0 /* this */
            areturn
        end local 1 // org.hibernate.cfg.NamingStrategy namingStrategy
        end local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl;
            0    2     1  namingStrategy  Lorg/hibernate/cfg/NamingStrategy;
    MethodParameters:
                Name  Flags
      namingStrategy  

  public org.hibernate.metamodel.MetadataBuilder with(org.hibernate.metamodel.MetadataSourceProcessingOrder);
    descriptor: (Lorg/hibernate/metamodel/MetadataSourceProcessingOrder;)Lorg/hibernate/metamodel/MetadataBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
        start local 1 // org.hibernate.metamodel.MetadataSourceProcessingOrder metadataSourceProcessingOrder
         0: .line 99
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl.options:Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl$OptionsImpl;
            aload 1 /* metadataSourceProcessingOrder */
            putfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl.metadataSourceProcessingOrder:Lorg/hibernate/metamodel/MetadataSourceProcessingOrder;
         1: .line 100
            aload 0 /* this */
            areturn
        end local 1 // org.hibernate.metamodel.MetadataSourceProcessingOrder metadataSourceProcessingOrder
        end local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    2     0                           this  Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl;
            0    2     1  metadataSourceProcessingOrder  Lorg/hibernate/metamodel/MetadataSourceProcessingOrder;
    MethodParameters:
                               Name  Flags
      metadataSourceProcessingOrder  

  public org.hibernate.metamodel.MetadataBuilder with(javax.persistence.SharedCacheMode);
    descriptor: (Ljavax/persistence/SharedCacheMode;)Lorg/hibernate/metamodel/MetadataBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
        start local 1 // javax.persistence.SharedCacheMode sharedCacheMode
         0: .line 105
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl.options:Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl$OptionsImpl;
            aload 1 /* sharedCacheMode */
            putfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl.sharedCacheMode:Ljavax/persistence/SharedCacheMode;
         1: .line 106
            aload 0 /* this */
            areturn
        end local 1 // javax.persistence.SharedCacheMode sharedCacheMode
        end local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl;
            0    2     1  sharedCacheMode  Ljavax/persistence/SharedCacheMode;
    MethodParameters:
                 Name  Flags
      sharedCacheMode  

  public org.hibernate.metamodel.MetadataBuilder with(org.hibernate.cache.spi.access.AccessType);
    descriptor: (Lorg/hibernate/cache/spi/access/AccessType;)Lorg/hibernate/metamodel/MetadataBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
        start local 1 // org.hibernate.cache.spi.access.AccessType accessType
         0: .line 111
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl.options:Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl$OptionsImpl;
            aload 1 /* accessType */
            putfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl.defaultCacheAccessType:Lorg/hibernate/cache/spi/access/AccessType;
         1: .line 112
            aload 0 /* this */
            areturn
        end local 1 // org.hibernate.cache.spi.access.AccessType accessType
        end local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl;
            0    2     1  accessType  Lorg/hibernate/cache/spi/access/AccessType;
    MethodParameters:
            Name  Flags
      accessType  

  public org.hibernate.metamodel.MetadataBuilder withNewIdentifierGeneratorsEnabled(boolean);
    descriptor: (Z)Lorg/hibernate/metamodel/MetadataBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
        start local 1 // boolean enabled
         0: .line 117
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl.options:Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl$OptionsImpl;
            iload 1 /* enabled */
            putfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl.useNewIdentifierGenerators:Z
         1: .line 118
            aload 0 /* this */
            areturn
        end local 1 // boolean enabled
        end local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl;
            0    2     1  enabled  Z
    MethodParameters:
         Name  Flags
      enabled  

  public org.hibernate.metamodel.Metadata build();
    descriptor: ()Lorg/hibernate/metamodel/Metadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
         0: .line 123
            new org.hibernate.metamodel.source.internal.MetadataImpl
            dup
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl.sources:Lorg/hibernate/metamodel/MetadataSources;
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataBuilderImpl.options:Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl$OptionsImpl;
            invokespecial org.hibernate.metamodel.source.internal.MetadataImpl.<init>:(Lorg/hibernate/metamodel/MetadataSources;Lorg/hibernate/metamodel/Metadata$Options;)V
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataBuilderImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataBuilderImpl;
}
SourceFile: "MetadataBuilderImpl.java"
NestMembers:
  org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl  org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl$1  org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl$2  org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl$3  org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl$4  org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl$5
InnerClasses:
  public abstract Options = org.hibernate.metamodel.Metadata$Options of org.hibernate.metamodel.Metadata
  public OptionsImpl = org.hibernate.metamodel.source.internal.MetadataBuilderImpl$OptionsImpl of org.hibernate.metamodel.source.internal.MetadataBuilderImpl