public class org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator
  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 static volatile int[] $SWITCH_TABLE$org$hibernate$tool$schema$Action;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 45
            ldc Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator;
            invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
            putstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.log:Lorg/jboss/logging/Logger;
            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.tool.schema.spi.SchemaManagementToolCoordinator this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator;

  public static void process(org.hibernate.boot.Metadata, org.hibernate.service.ServiceRegistry, java.util.Map, org.hibernate.tool.schema.spi.DelayedDropRegistry);
    descriptor: (Lorg/hibernate/boot/Metadata;Lorg/hibernate/service/ServiceRegistry;Ljava/util/Map;Lorg/hibernate/tool/schema/spi/DelayedDropRegistry;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // org.hibernate.boot.Metadata metadata
        start local 1 // org.hibernate.service.ServiceRegistry serviceRegistry
        start local 2 // java.util.Map configurationValues
        start local 3 // org.hibernate.tool.schema.spi.DelayedDropRegistry delayedDropRegistry
         0: .line 52
            aload 2 /* configurationValues */
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping.interpret:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$ActionGrouping;
            astore 4 /* actions */
        start local 4 // org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping actions
         1: .line 54
            aload 4 /* actions */
            invokevirtual org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping.getDatabaseAction:()Lorg/hibernate/tool/schema/Action;
            getstatic org.hibernate.tool.schema.Action.NONE:Lorg/hibernate/tool/schema/Action;
            if_acmpne 4
            aload 4 /* actions */
            invokevirtual org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping.getScriptAction:()Lorg/hibernate/tool/schema/Action;
            getstatic org.hibernate.tool.schema.Action.NONE:Lorg/hibernate/tool/schema/Action;
            if_acmpne 4
         2: .line 56
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.log:Lorg/jboss/logging/Logger;
            ldc "No actions specified; doing nothing"
            invokevirtual org.jboss.logging.Logger.debug:(Ljava/lang/Object;)V
         3: .line 57
            return
         4: .line 60
      StackMap locals: org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping
      StackMap stack:
            aload 1 /* serviceRegistry */
            ldc Lorg/hibernate/tool/schema/spi/SchemaManagementTool;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.tool.schema.spi.SchemaManagementTool
            astore 5 /* tool */
        start local 5 // org.hibernate.tool.schema.spi.SchemaManagementTool tool
         5: .line 61
            aload 1 /* serviceRegistry */
            ldc Lorg/hibernate/engine/config/spi/ConfigurationService;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.config.spi.ConfigurationService
            astore 6 /* configService */
        start local 6 // org.hibernate.engine.config.spi.ConfigurationService configService
         6: .line 63
            aload 6 /* configService */
            ldc "hibernate.hbm2ddl.halt_on_error"
            ldc Ljava/lang/Boolean;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSetting:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 7 /* haltOnError */
        start local 7 // boolean haltOnError
         7: .line 66
            aload 2 /* configurationValues */
         8: .line 67
            iload 7 /* haltOnError */
            ifeq 9
            getstatic org.hibernate.tool.schema.internal.ExceptionHandlerHaltImpl.INSTANCE:Lorg/hibernate/tool/schema/internal/ExceptionHandlerHaltImpl;
            goto 10
         9: .line 68
      StackMap locals: org.hibernate.boot.Metadata org.hibernate.service.ServiceRegistry java.util.Map org.hibernate.tool.schema.spi.DelayedDropRegistry org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping org.hibernate.tool.schema.spi.SchemaManagementTool org.hibernate.engine.config.spi.ConfigurationService int
      StackMap stack: java.util.Map
            getstatic org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl.INSTANCE:Lorg/hibernate/tool/schema/internal/ExceptionHandlerLoggedImpl;
        10: .line 65
      StackMap locals: org.hibernate.boot.Metadata org.hibernate.service.ServiceRegistry java.util.Map org.hibernate.tool.schema.spi.DelayedDropRegistry org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping org.hibernate.tool.schema.spi.SchemaManagementTool org.hibernate.engine.config.spi.ConfigurationService int
      StackMap stack: java.util.Map org.hibernate.tool.schema.spi.ExceptionHandler
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildExecutionOptions:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/ExceptionHandler;)Lorg/hibernate/tool/schema/spi/ExecutionOptions;
            astore 8 /* executionOptions */
        start local 8 // org.hibernate.tool.schema.spi.ExecutionOptions executionOptions
        11: .line 71
            aload 4 /* actions */
            invokevirtual org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping.getScriptAction:()Lorg/hibernate/tool/schema/Action;
            aload 0 /* metadata */
            aload 5 /* tool */
            aload 1 /* serviceRegistry */
            aload 8 /* executionOptions */
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performScriptAction:(Lorg/hibernate/tool/schema/Action;Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/SchemaManagementTool;Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/tool/schema/spi/ExecutionOptions;)V
        12: .line 72
            aload 4 /* actions */
            invokevirtual org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping.getDatabaseAction:()Lorg/hibernate/tool/schema/Action;
            aload 0 /* metadata */
            aload 5 /* tool */
            aload 1 /* serviceRegistry */
            aload 8 /* executionOptions */
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction:(Lorg/hibernate/tool/schema/Action;Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/SchemaManagementTool;Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/tool/schema/spi/ExecutionOptions;)V
        13: .line 74
            aload 4 /* actions */
            invokevirtual org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping.getDatabaseAction:()Lorg/hibernate/tool/schema/Action;
            getstatic org.hibernate.tool.schema.Action.CREATE_DROP:Lorg/hibernate/tool/schema/Action;
            if_acmpne 24
        14: .line 76
            aload 3 /* delayedDropRegistry */
        15: .line 77
            aload 5 /* tool */
            aload 2 /* configurationValues */
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaDropper:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaDropper;
        16: .line 78
            aload 0 /* metadata */
        17: .line 79
            aload 8 /* executionOptions */
        18: .line 81
            aload 2 /* configurationValues */
        19: .line 82
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$DropSettingSelector.INSTANCE:Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$DropSettingSelector;
        20: .line 83
            aload 1 /* serviceRegistry */
        21: .line 80
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildDatabaseTargetDescriptor:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
        22: .line 77
            invokeinterface org.hibernate.tool.schema.spi.SchemaDropper.buildDelayedAction:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;Lorg/hibernate/tool/schema/spi/SourceDescriptor;)Lorg/hibernate/tool/schema/spi/DelayedDropAction;
        23: .line 76
            invokeinterface org.hibernate.tool.schema.spi.DelayedDropRegistry.registerOnCloseAction:(Lorg/hibernate/tool/schema/spi/DelayedDropAction;)V
        24: .line 88
      StackMap locals: org.hibernate.tool.schema.spi.ExecutionOptions
      StackMap stack:
            return
        end local 8 // org.hibernate.tool.schema.spi.ExecutionOptions executionOptions
        end local 7 // boolean haltOnError
        end local 6 // org.hibernate.engine.config.spi.ConfigurationService configService
        end local 5 // org.hibernate.tool.schema.spi.SchemaManagementTool tool
        end local 4 // org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping actions
        end local 3 // org.hibernate.tool.schema.spi.DelayedDropRegistry delayedDropRegistry
        end local 2 // java.util.Map configurationValues
        end local 1 // org.hibernate.service.ServiceRegistry serviceRegistry
        end local 0 // org.hibernate.boot.Metadata metadata
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   25     0             metadata  Lorg/hibernate/boot/Metadata;
            0   25     1      serviceRegistry  Lorg/hibernate/service/ServiceRegistry;
            0   25     2  configurationValues  Ljava/util/Map;
            0   25     3  delayedDropRegistry  Lorg/hibernate/tool/schema/spi/DelayedDropRegistry;
            1   25     4              actions  Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$ActionGrouping;
            5   25     5                 tool  Lorg/hibernate/tool/schema/spi/SchemaManagementTool;
            6   25     6        configService  Lorg/hibernate/engine/config/spi/ConfigurationService;
            7   25     7          haltOnError  Z
           11   25     8     executionOptions  Lorg/hibernate/tool/schema/spi/ExecutionOptions;
    MethodParameters:
                     Name  Flags
      metadata             final
      serviceRegistry      final
      configurationValues  final
      delayedDropRegistry  

  public static org.hibernate.tool.schema.spi.ExecutionOptions buildExecutionOptions(java.util.Map, org.hibernate.tool.schema.spi.ExceptionHandler);
    descriptor: (Ljava/util/Map;Lorg/hibernate/tool/schema/spi/ExceptionHandler;)Lorg/hibernate/tool/schema/spi/ExecutionOptions;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Map configurationValues
        start local 1 // org.hibernate.tool.schema.spi.ExceptionHandler exceptionHandler
         0: .line 93
            new org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$1
            dup
            aload 0 /* configurationValues */
            aload 1 /* exceptionHandler */
            invokespecial org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$1.<init>:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/ExceptionHandler;)V
            areturn
        end local 1 // org.hibernate.tool.schema.spi.ExceptionHandler exceptionHandler
        end local 0 // java.util.Map configurationValues
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0  configurationValues  Ljava/util/Map;
            0    1     1     exceptionHandler  Lorg/hibernate/tool/schema/spi/ExceptionHandler;
    MethodParameters:
                     Name  Flags
      configurationValues  final
      exceptionHandler     final

  private static void performDatabaseAction(org.hibernate.tool.schema.Action, org.hibernate.boot.Metadata, org.hibernate.tool.schema.spi.SchemaManagementTool, org.hibernate.service.ServiceRegistry, org.hibernate.tool.schema.spi.ExecutionOptions);
    descriptor: (Lorg/hibernate/tool/schema/Action;Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/SchemaManagementTool;Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/tool/schema/spi/ExecutionOptions;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.hibernate.tool.schema.Action action
        start local 1 // org.hibernate.boot.Metadata metadata
        start local 2 // org.hibernate.tool.schema.spi.SchemaManagementTool tool
        start local 3 // org.hibernate.service.ServiceRegistry serviceRegistry
        start local 4 // org.hibernate.tool.schema.spi.ExecutionOptions executionOptions
         0: .line 121
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.$SWITCH_TABLE$org$hibernate$tool$schema$Action:()[I
            aload 0 /* action */
            invokevirtual org.hibernate.tool.schema.Action.ordinal:()I
            iaload
            tableswitch { // 2 - 7
                    2: 1
                    3: 33
                    4: 12
                    5: 12
                    6: 54
                    7: 44
              default: 58
          }
         1: .line 125
      StackMap locals:
      StackMap stack:
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
         2: .line 126
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$CreateSettingSelector.INSTANCE:Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$CreateSettingSelector;
         3: .line 127
            aload 3 /* serviceRegistry */
         4: .line 124
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildDatabaseTargetDescriptor:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
            astore 5 /* createDescriptor */
        start local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor createDescriptor
         5: .line 129
            aload 2 /* tool */
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaCreator:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaCreator;
         6: .line 130
            aload 1 /* metadata */
         7: .line 131
            aload 4 /* executionOptions */
         8: .line 132
            aload 5 /* createDescriptor */
         9: .line 133
            aload 5 /* createDescriptor */
        10: .line 129
            invokeinterface org.hibernate.tool.schema.spi.SchemaCreator.doCreation:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;Lorg/hibernate/tool/schema/spi/SourceDescriptor;Lorg/hibernate/tool/schema/spi/TargetDescriptor;)V
        11: .line 135
            goto 58
        end local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor createDescriptor
        12: .line 140
      StackMap locals:
      StackMap stack:
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
        13: .line 141
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$DropSettingSelector.INSTANCE:Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$DropSettingSelector;
        14: .line 142
            aload 3 /* serviceRegistry */
        15: .line 139
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildDatabaseTargetDescriptor:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
            astore 5 /* dropDescriptor */
        start local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor dropDescriptor
        16: .line 144
            aload 2 /* tool */
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaDropper:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaDropper;
        17: .line 145
            aload 1 /* metadata */
        18: .line 146
            aload 4 /* executionOptions */
        19: .line 147
            aload 5 /* dropDescriptor */
        20: .line 148
            aload 5 /* dropDescriptor */
        21: .line 144
            invokeinterface org.hibernate.tool.schema.spi.SchemaDropper.doDrop:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;Lorg/hibernate/tool/schema/spi/SourceDescriptor;Lorg/hibernate/tool/schema/spi/TargetDescriptor;)V
        22: .line 151
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
        23: .line 152
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$CreateSettingSelector.INSTANCE:Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$CreateSettingSelector;
        24: .line 153
            aload 3 /* serviceRegistry */
        25: .line 150
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildDatabaseTargetDescriptor:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
            astore 6 /* createDescriptor */
        start local 6 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor createDescriptor
        26: .line 155
            aload 2 /* tool */
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaCreator:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaCreator;
        27: .line 156
            aload 1 /* metadata */
        28: .line 157
            aload 4 /* executionOptions */
        29: .line 158
            aload 6 /* createDescriptor */
        30: .line 159
            aload 6 /* createDescriptor */
        31: .line 155
            invokeinterface org.hibernate.tool.schema.spi.SchemaCreator.doCreation:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;Lorg/hibernate/tool/schema/spi/SourceDescriptor;Lorg/hibernate/tool/schema/spi/TargetDescriptor;)V
        32: .line 161
            goto 58
        end local 6 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor createDescriptor
        end local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor dropDescriptor
        33: .line 165
      StackMap locals:
      StackMap stack:
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
        34: .line 166
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$DropSettingSelector.INSTANCE:Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$DropSettingSelector;
        35: .line 167
            aload 3 /* serviceRegistry */
        36: .line 164
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildDatabaseTargetDescriptor:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
            astore 5 /* dropDescriptor */
        start local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor dropDescriptor
        37: .line 169
            aload 2 /* tool */
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaDropper:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaDropper;
        38: .line 170
            aload 1 /* metadata */
        39: .line 171
            aload 4 /* executionOptions */
        40: .line 172
            aload 5 /* dropDescriptor */
        41: .line 173
            aload 5 /* dropDescriptor */
        42: .line 169
            invokeinterface org.hibernate.tool.schema.spi.SchemaDropper.doDrop:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;Lorg/hibernate/tool/schema/spi/SourceDescriptor;Lorg/hibernate/tool/schema/spi/TargetDescriptor;)V
        43: .line 175
            goto 58
        end local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor dropDescriptor
        44: .line 179
      StackMap locals:
      StackMap stack:
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
        45: .line 180
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$MigrateSettingSelector.INSTANCE:Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$MigrateSettingSelector;
        46: .line 181
            aload 3 /* serviceRegistry */
        47: .line 178
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildDatabaseTargetDescriptor:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
            astore 5 /* migrateDescriptor */
        start local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor migrateDescriptor
        48: .line 183
            aload 2 /* tool */
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaMigrator:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaMigrator;
        49: .line 184
            aload 1 /* metadata */
        50: .line 185
            aload 4 /* executionOptions */
        51: .line 186
            aload 5 /* migrateDescriptor */
        52: .line 183
            invokeinterface org.hibernate.tool.schema.spi.SchemaMigrator.doMigration:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;Lorg/hibernate/tool/schema/spi/TargetDescriptor;)V
        53: .line 188
            goto 58
        end local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor migrateDescriptor
        54: .line 191
      StackMap locals:
      StackMap stack:
            aload 2 /* tool */
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaValidator:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaValidator;
        55: .line 192
            aload 1 /* metadata */
        56: .line 193
            aload 4 /* executionOptions */
        57: .line 191
            invokeinterface org.hibernate.tool.schema.spi.SchemaValidator.doValidation:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;)V
        58: .line 198
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.hibernate.tool.schema.spi.ExecutionOptions executionOptions
        end local 3 // org.hibernate.service.ServiceRegistry serviceRegistry
        end local 2 // org.hibernate.tool.schema.spi.SchemaManagementTool tool
        end local 1 // org.hibernate.boot.Metadata metadata
        end local 0 // org.hibernate.tool.schema.Action action
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   59     0             action  Lorg/hibernate/tool/schema/Action;
            0   59     1           metadata  Lorg/hibernate/boot/Metadata;
            0   59     2               tool  Lorg/hibernate/tool/schema/spi/SchemaManagementTool;
            0   59     3    serviceRegistry  Lorg/hibernate/service/ServiceRegistry;
            0   59     4   executionOptions  Lorg/hibernate/tool/schema/spi/ExecutionOptions;
            5   12     5   createDescriptor  Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
           16   33     5     dropDescriptor  Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
           26   33     6   createDescriptor  Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
           37   44     5     dropDescriptor  Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
           48   54     5  migrateDescriptor  Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
    MethodParameters:
                  Name  Flags
      action            final
      metadata          
      tool              
      serviceRegistry   
      executionOptions  final

  private static org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor buildDatabaseTargetDescriptor(java.util.Map, org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector, org.hibernate.service.ServiceRegistry);
    descriptor: (Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.util.Map configurationValues
        start local 1 // org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector settingSelector
        start local 2 // org.hibernate.service.ServiceRegistry serviceRegistry
         0: .line 204
            aload 1 /* settingSelector */
            aload 0 /* configurationValues */
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector.getScriptSourceSetting:(Ljava/util/Map;)Ljava/lang/Object;
            astore 3 /* scriptSourceSetting */
        start local 3 // java.lang.Object scriptSourceSetting
         1: .line 206
            aload 1 /* settingSelector */
            aload 0 /* configurationValues */
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector.getSourceTypeSetting:(Ljava/util/Map;)Ljava/lang/Object;
         2: .line 207
            aload 3 /* scriptSourceSetting */
            ifnull 3
            getstatic org.hibernate.tool.schema.SourceType.SCRIPT:Lorg/hibernate/tool/schema/SourceType;
            goto 4
      StackMap locals: java.util.Map org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector org.hibernate.service.ServiceRegistry java.lang.Object
      StackMap stack: java.lang.Object
         3: getstatic org.hibernate.tool.schema.SourceType.METADATA:Lorg/hibernate/tool/schema/SourceType;
         4: .line 205
      StackMap locals: java.util.Map org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector org.hibernate.service.ServiceRegistry java.lang.Object
      StackMap stack: java.lang.Object org.hibernate.tool.schema.SourceType
            invokestatic org.hibernate.tool.schema.SourceType.interpret:(Ljava/lang/Object;Lorg/hibernate/tool/schema/SourceType;)Lorg/hibernate/tool/schema/SourceType;
            astore 4 /* sourceType */
        start local 4 // org.hibernate.tool.schema.SourceType sourceType
         5: .line 210
            aload 4 /* sourceType */
            getstatic org.hibernate.tool.schema.SourceType.METADATA:Lorg/hibernate/tool/schema/SourceType;
            if_acmpeq 6
            iconst_1
            goto 7
      StackMap locals: org.hibernate.tool.schema.SourceType
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 5 /* includesScripts */
        start local 5 // boolean includesScripts
         8: .line 211
            iload 5 /* includesScripts */
            ifeq 12
            aload 3 /* scriptSourceSetting */
            ifnonnull 12
         9: .line 212
            new org.hibernate.tool.schema.spi.SchemaManagementException
            dup
        10: .line 213
            ldc "Schema generation configuration indicated to include CREATE scripts, but no script was specified"
        11: .line 212
            invokespecial org.hibernate.tool.schema.spi.SchemaManagementException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 217
      StackMap locals: int
      StackMap stack:
            iload 5 /* includesScripts */
            ifeq 18
        13: .line 219
            aload 3 /* scriptSourceSetting */
        14: .line 220
            aload 2 /* serviceRegistry */
            ldc Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.boot.registry.classloading.spi.ClassLoaderService
        15: .line 221
            aload 0 /* configurationValues */
            ldc "hibernate.hbm2ddl.charset_name"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
        16: .line 218
            invokestatic org.hibernate.tool.schema.internal.Helper.interpretScriptSourceSetting:(Ljava/lang/Object;Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;Ljava/lang/String;)Lorg/hibernate/tool/schema/spi/ScriptSourceInput;
        17: .line 222
            goto 19
        18: .line 223
      StackMap locals:
      StackMap stack:
            aconst_null
        19: .line 217
      StackMap locals:
      StackMap stack: org.hibernate.tool.schema.spi.ScriptSourceInput
            astore 6 /* scriptSourceInput */
        start local 6 // org.hibernate.tool.schema.spi.ScriptSourceInput scriptSourceInput
        20: .line 225
            new org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$2
            dup
            aload 4 /* sourceType */
            aload 6 /* scriptSourceInput */
            invokespecial org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$2.<init>:(Lorg/hibernate/tool/schema/SourceType;Lorg/hibernate/tool/schema/spi/ScriptSourceInput;)V
            areturn
        end local 6 // org.hibernate.tool.schema.spi.ScriptSourceInput scriptSourceInput
        end local 5 // boolean includesScripts
        end local 4 // org.hibernate.tool.schema.SourceType sourceType
        end local 3 // java.lang.Object scriptSourceSetting
        end local 2 // org.hibernate.service.ServiceRegistry serviceRegistry
        end local 1 // org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector settingSelector
        end local 0 // java.util.Map configurationValues
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0  configurationValues  Ljava/util/Map;
            0   21     1      settingSelector  Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;
            0   21     2      serviceRegistry  Lorg/hibernate/service/ServiceRegistry;
            1   21     3  scriptSourceSetting  Ljava/lang/Object;
            5   21     4           sourceType  Lorg/hibernate/tool/schema/SourceType;
            8   21     5      includesScripts  Z
           20   21     6    scriptSourceInput  Lorg/hibernate/tool/schema/spi/ScriptSourceInput;
    MethodParameters:
                     Name  Flags
      configurationValues  
      settingSelector      
      serviceRegistry      

  private static void performScriptAction(org.hibernate.tool.schema.Action, org.hibernate.boot.Metadata, org.hibernate.tool.schema.spi.SchemaManagementTool, org.hibernate.service.ServiceRegistry, org.hibernate.tool.schema.spi.ExecutionOptions);
    descriptor: (Lorg/hibernate/tool/schema/Action;Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/SchemaManagementTool;Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/tool/schema/spi/ExecutionOptions;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.hibernate.tool.schema.Action scriptAction
        start local 1 // org.hibernate.boot.Metadata metadata
        start local 2 // org.hibernate.tool.schema.spi.SchemaManagementTool tool
        start local 3 // org.hibernate.service.ServiceRegistry serviceRegistry
        start local 4 // org.hibernate.tool.schema.spi.ExecutionOptions executionOptions
         0: .line 255
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.$SWITCH_TABLE$org$hibernate$tool$schema$Action:()[I
            aload 0 /* scriptAction */
            invokevirtual org.hibernate.tool.schema.Action.ordinal:()I
            iaload
            tableswitch { // 2 - 7
                    2: 1
                    3: 33
                    4: 12
                    5: 12
                    6: 54
                    7: 44
              default: 55
          }
         1: .line 258
      StackMap locals:
      StackMap stack:
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
         2: .line 259
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$CreateSettingSelector.INSTANCE:Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$CreateSettingSelector;
         3: .line 260
            aload 3 /* serviceRegistry */
         4: .line 257
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildScriptTargetDescriptor:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
            astore 5 /* createDescriptor */
        start local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor createDescriptor
         5: .line 262
            aload 2 /* tool */
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaCreator:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaCreator;
         6: .line 263
            aload 1 /* metadata */
         7: .line 264
            aload 4 /* executionOptions */
         8: .line 265
            aload 5 /* createDescriptor */
         9: .line 266
            aload 5 /* createDescriptor */
        10: .line 262
            invokeinterface org.hibernate.tool.schema.spi.SchemaCreator.doCreation:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;Lorg/hibernate/tool/schema/spi/SourceDescriptor;Lorg/hibernate/tool/schema/spi/TargetDescriptor;)V
        11: .line 268
            goto 55
        end local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor createDescriptor
        12: .line 273
      StackMap locals:
      StackMap stack:
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
        13: .line 274
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$DropSettingSelector.INSTANCE:Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$DropSettingSelector;
        14: .line 275
            aload 3 /* serviceRegistry */
        15: .line 272
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildScriptTargetDescriptor:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
            astore 5 /* dropDescriptor */
        start local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor dropDescriptor
        16: .line 277
            aload 2 /* tool */
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaDropper:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaDropper;
        17: .line 278
            aload 1 /* metadata */
        18: .line 279
            aload 4 /* executionOptions */
        19: .line 280
            aload 5 /* dropDescriptor */
        20: .line 281
            aload 5 /* dropDescriptor */
        21: .line 277
            invokeinterface org.hibernate.tool.schema.spi.SchemaDropper.doDrop:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;Lorg/hibernate/tool/schema/spi/SourceDescriptor;Lorg/hibernate/tool/schema/spi/TargetDescriptor;)V
        22: .line 284
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
        23: .line 285
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$CreateSettingSelector.INSTANCE:Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$CreateSettingSelector;
        24: .line 286
            aload 3 /* serviceRegistry */
        25: .line 283
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildScriptTargetDescriptor:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
            astore 6 /* createDescriptor */
        start local 6 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor createDescriptor
        26: .line 288
            aload 2 /* tool */
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaCreator:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaCreator;
        27: .line 289
            aload 1 /* metadata */
        28: .line 290
            aload 4 /* executionOptions */
        29: .line 291
            aload 6 /* createDescriptor */
        30: .line 292
            aload 6 /* createDescriptor */
        31: .line 288
            invokeinterface org.hibernate.tool.schema.spi.SchemaCreator.doCreation:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;Lorg/hibernate/tool/schema/spi/SourceDescriptor;Lorg/hibernate/tool/schema/spi/TargetDescriptor;)V
        32: .line 294
            goto 55
        end local 6 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor createDescriptor
        end local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor dropDescriptor
        33: .line 298
      StackMap locals:
      StackMap stack:
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
        34: .line 299
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$DropSettingSelector.INSTANCE:Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$DropSettingSelector;
        35: .line 300
            aload 3 /* serviceRegistry */
        36: .line 297
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildScriptTargetDescriptor:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
            astore 5 /* dropDescriptor */
        start local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor dropDescriptor
        37: .line 302
            aload 2 /* tool */
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaDropper:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaDropper;
        38: .line 303
            aload 1 /* metadata */
        39: .line 304
            aload 4 /* executionOptions */
        40: .line 305
            aload 5 /* dropDescriptor */
        41: .line 306
            aload 5 /* dropDescriptor */
        42: .line 302
            invokeinterface org.hibernate.tool.schema.spi.SchemaDropper.doDrop:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;Lorg/hibernate/tool/schema/spi/SourceDescriptor;Lorg/hibernate/tool/schema/spi/TargetDescriptor;)V
        43: .line 308
            goto 55
        end local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor dropDescriptor
        44: .line 312
      StackMap locals:
      StackMap stack:
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
        45: .line 313
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$MigrateSettingSelector.INSTANCE:Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$MigrateSettingSelector;
        46: .line 314
            aload 3 /* serviceRegistry */
        47: .line 311
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.buildScriptTargetDescriptor:(Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
            astore 5 /* migrateDescriptor */
        start local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor migrateDescriptor
        48: .line 316
            aload 2 /* tool */
            aload 4 /* executionOptions */
            invokeinterface org.hibernate.tool.schema.spi.ExecutionOptions.getConfigurationValues:()Ljava/util/Map;
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementTool.getSchemaMigrator:(Ljava/util/Map;)Lorg/hibernate/tool/schema/spi/SchemaMigrator;
        49: .line 317
            aload 1 /* metadata */
        50: .line 318
            aload 4 /* executionOptions */
        51: .line 319
            aload 5 /* migrateDescriptor */
        52: .line 316
            invokeinterface org.hibernate.tool.schema.spi.SchemaMigrator.doMigration:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/tool/schema/spi/ExecutionOptions;Lorg/hibernate/tool/schema/spi/TargetDescriptor;)V
        53: .line 321
            goto 55
        end local 5 // org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor migrateDescriptor
        54: .line 324
      StackMap locals:
      StackMap stack:
            new org.hibernate.tool.schema.spi.SchemaManagementException
            dup
            ldc "VALIDATE is not valid SchemaManagementTool action for script output"
            invokespecial org.hibernate.tool.schema.spi.SchemaManagementException.<init>:(Ljava/lang/String;)V
            athrow
        55: .line 327
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.hibernate.tool.schema.spi.ExecutionOptions executionOptions
        end local 3 // org.hibernate.service.ServiceRegistry serviceRegistry
        end local 2 // org.hibernate.tool.schema.spi.SchemaManagementTool tool
        end local 1 // org.hibernate.boot.Metadata metadata
        end local 0 // org.hibernate.tool.schema.Action scriptAction
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   56     0       scriptAction  Lorg/hibernate/tool/schema/Action;
            0   56     1           metadata  Lorg/hibernate/boot/Metadata;
            0   56     2               tool  Lorg/hibernate/tool/schema/spi/SchemaManagementTool;
            0   56     3    serviceRegistry  Lorg/hibernate/service/ServiceRegistry;
            0   56     4   executionOptions  Lorg/hibernate/tool/schema/spi/ExecutionOptions;
            5   12     5   createDescriptor  Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
           16   33     5     dropDescriptor  Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
           26   33     6   createDescriptor  Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
           37   44     5     dropDescriptor  Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
           48   54     5  migrateDescriptor  Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
    MethodParameters:
                  Name  Flags
      scriptAction      
      metadata          
      tool              
      serviceRegistry   
      executionOptions  

  private static org.hibernate.tool.schema.spi.JpaTargetAndSourceDescriptor buildScriptTargetDescriptor(java.util.Map, org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector, org.hibernate.service.ServiceRegistry);
    descriptor: (Ljava/util/Map;Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/tool/schema/spi/JpaTargetAndSourceDescriptor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // java.util.Map configurationValues
        start local 1 // org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector settingSelector
        start local 2 // org.hibernate.service.ServiceRegistry serviceRegistry
         0: .line 333
            aload 1 /* settingSelector */
            aload 0 /* configurationValues */
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector.getScriptSourceSetting:(Ljava/util/Map;)Ljava/lang/Object;
            astore 3 /* scriptSourceSetting */
        start local 3 // java.lang.Object scriptSourceSetting
         1: .line 335
            aload 1 /* settingSelector */
            aload 0 /* configurationValues */
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector.getSourceTypeSetting:(Ljava/util/Map;)Ljava/lang/Object;
         2: .line 336
            aload 3 /* scriptSourceSetting */
            ifnull 3
            getstatic org.hibernate.tool.schema.SourceType.SCRIPT:Lorg/hibernate/tool/schema/SourceType;
            goto 4
      StackMap locals: java.util.Map org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector org.hibernate.service.ServiceRegistry java.lang.Object
      StackMap stack: java.lang.Object
         3: getstatic org.hibernate.tool.schema.SourceType.METADATA:Lorg/hibernate/tool/schema/SourceType;
         4: .line 334
      StackMap locals: java.util.Map org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector org.hibernate.service.ServiceRegistry java.lang.Object
      StackMap stack: java.lang.Object org.hibernate.tool.schema.SourceType
            invokestatic org.hibernate.tool.schema.SourceType.interpret:(Ljava/lang/Object;Lorg/hibernate/tool/schema/SourceType;)Lorg/hibernate/tool/schema/SourceType;
            astore 4 /* sourceType */
        start local 4 // org.hibernate.tool.schema.SourceType sourceType
         5: .line 339
            aload 4 /* sourceType */
            getstatic org.hibernate.tool.schema.SourceType.METADATA:Lorg/hibernate/tool/schema/SourceType;
            if_acmpeq 6
            iconst_1
            goto 7
      StackMap locals: org.hibernate.tool.schema.SourceType
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 5 /* includesScripts */
        start local 5 // boolean includesScripts
         8: .line 340
            iload 5 /* includesScripts */
            ifeq 12
            aload 3 /* scriptSourceSetting */
            ifnonnull 12
         9: .line 341
            new org.hibernate.tool.schema.spi.SchemaManagementException
            dup
        10: .line 342
            ldc "Schema generation configuration indicated to include CREATE scripts, but no script was specified"
        11: .line 341
            invokespecial org.hibernate.tool.schema.spi.SchemaManagementException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 346
      StackMap locals: int
      StackMap stack:
            aload 0 /* configurationValues */
            ldc "hibernate.hbm2ddl.charset_name"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* charsetName */
        start local 6 // java.lang.String charsetName
        13: .line 348
            iload 5 /* includesScripts */
            ifeq 15
        14: .line 349
            aload 3 /* scriptSourceSetting */
            aload 2 /* serviceRegistry */
            ldc Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.boot.registry.classloading.spi.ClassLoaderService
            aload 6 /* charsetName */
            invokestatic org.hibernate.tool.schema.internal.Helper.interpretScriptSourceSetting:(Ljava/lang/Object;Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;Ljava/lang/String;)Lorg/hibernate/tool/schema/spi/ScriptSourceInput;
            goto 16
        15: .line 350
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
        16: .line 348
      StackMap locals:
      StackMap stack: org.hibernate.tool.schema.spi.ScriptSourceInput
            astore 7 /* scriptSourceInput */
        start local 7 // org.hibernate.tool.schema.spi.ScriptSourceInput scriptSourceInput
        17: .line 353
            aload 1 /* settingSelector */
            aload 0 /* configurationValues */
            invokeinterface org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector.getScriptTargetSetting:(Ljava/util/Map;)Ljava/lang/Object;
        18: .line 354
            aload 2 /* serviceRegistry */
            ldc Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.boot.registry.classloading.spi.ClassLoaderService
        19: .line 355
            aload 6 /* charsetName */
        20: .line 352
            invokestatic org.hibernate.tool.schema.internal.Helper.interpretScriptTargetSetting:(Ljava/lang/Object;Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;Ljava/lang/String;)Lorg/hibernate/tool/schema/spi/ScriptTargetOutput;
            astore 8 /* scriptTargetOutput */
        start local 8 // org.hibernate.tool.schema.spi.ScriptTargetOutput scriptTargetOutput
        21: .line 358
            new org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$3
            dup
            aload 8 /* scriptTargetOutput */
            aload 4 /* sourceType */
            aload 7 /* scriptSourceInput */
            invokespecial org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$3.<init>:(Lorg/hibernate/tool/schema/spi/ScriptTargetOutput;Lorg/hibernate/tool/schema/SourceType;Lorg/hibernate/tool/schema/spi/ScriptSourceInput;)V
            areturn
        end local 8 // org.hibernate.tool.schema.spi.ScriptTargetOutput scriptTargetOutput
        end local 7 // org.hibernate.tool.schema.spi.ScriptSourceInput scriptSourceInput
        end local 6 // java.lang.String charsetName
        end local 5 // boolean includesScripts
        end local 4 // org.hibernate.tool.schema.SourceType sourceType
        end local 3 // java.lang.Object scriptSourceSetting
        end local 2 // org.hibernate.service.ServiceRegistry serviceRegistry
        end local 1 // org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector settingSelector
        end local 0 // java.util.Map configurationValues
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   22     0  configurationValues  Ljava/util/Map;
            0   22     1      settingSelector  Lorg/hibernate/tool/schema/spi/SchemaManagementToolCoordinator$SettingSelector;
            0   22     2      serviceRegistry  Lorg/hibernate/service/ServiceRegistry;
            1   22     3  scriptSourceSetting  Ljava/lang/Object;
            5   22     4           sourceType  Lorg/hibernate/tool/schema/SourceType;
            8   22     5      includesScripts  Z
           13   22     6          charsetName  Ljava/lang/String;
           17   22     7    scriptSourceInput  Lorg/hibernate/tool/schema/spi/ScriptSourceInput;
           21   22     8   scriptTargetOutput  Lorg/hibernate/tool/schema/spi/ScriptTargetOutput;
    MethodParameters:
                     Name  Flags
      configurationValues  
      settingSelector      
      serviceRegistry      

  static int[] $SWITCH_TABLE$org$hibernate$tool$schema$Action();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 44
            getstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.$SWITCH_TABLE$org$hibernate$tool$schema$Action:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.hibernate.tool.schema.Action.values:()[Lorg/hibernate/tool/schema/Action;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.hibernate.tool.schema.Action.CREATE:Lorg/hibernate/tool/schema/Action;
            invokevirtual org.hibernate.tool.schema.Action.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.hibernate.tool.schema.Action.CREATE_DROP:Lorg/hibernate/tool/schema/Action;
            invokevirtual org.hibernate.tool.schema.Action.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.hibernate.tool.schema.Action.CREATE_ONLY:Lorg/hibernate/tool/schema/Action;
            invokevirtual org.hibernate.tool.schema.Action.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.hibernate.tool.schema.Action.DROP:Lorg/hibernate/tool/schema/Action;
            invokevirtual org.hibernate.tool.schema.Action.ordinal:()I
            iconst_3
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.hibernate.tool.schema.Action.NONE:Lorg/hibernate/tool/schema/Action;
            invokevirtual org.hibernate.tool.schema.Action.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.hibernate.tool.schema.Action.UPDATE:Lorg/hibernate/tool/schema/Action;
            invokevirtual org.hibernate.tool.schema.Action.ordinal:()I
            bipush 7
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.hibernate.tool.schema.Action.VALIDATE:Lorg/hibernate/tool/schema/Action;
            invokevirtual org.hibernate.tool.schema.Action.ordinal:()I
            bipush 6
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            dup
            putstatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.$SWITCH_TABLE$org$hibernate$tool$schema$Action:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
}
SourceFile: "SchemaManagementToolCoordinator.java"
NestMembers:
  org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$1  org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$2  org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$3  org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping  org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$CreateSettingSelector  org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$DropSettingSelector  org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$MigrateSettingSelector  org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector
InnerClasses:
  org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$1
  org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$2
  org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$3
  public ActionGrouping = org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping of org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator
  private CreateSettingSelector = org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$CreateSettingSelector of org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator
  private DropSettingSelector = org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$DropSettingSelector of org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator
  private MigrateSettingSelector = org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$MigrateSettingSelector of org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator
  private abstract SettingSelector = org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$SettingSelector of org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator