public class org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder
  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 java.util.List<org.hibernate.boot.registry.selector.StrategyRegistration> explicitStrategyRegistrations;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/hibernate/boot/registry/selector/StrategyRegistration;>;

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
         0: .line 111
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 114
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.explicitStrategyRegistrations:Ljava/util/List;
         2: .line 111
            return
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;

  public <T> void addExplicitStrategyRegistration(java.lang.Class<T>, java.lang.Class<? extends T>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=4, args_size=4
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
        start local 1 // java.lang.Class strategy
        start local 2 // java.lang.Class implementation
        start local 3 // java.lang.String name
         0: .line 127
            aload 0 /* this */
            new org.hibernate.boot.registry.selector.SimpleStrategyRegistrationImpl
            dup
            aload 1 /* strategy */
            aload 2 /* implementation */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* name */
            aastore
            invokespecial org.hibernate.boot.registry.selector.SimpleStrategyRegistrationImpl.<init>:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/String;)V
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addExplicitStrategyRegistration:(Lorg/hibernate/boot/registry/selector/StrategyRegistration;)V
         1: .line 128
            return
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class implementation
        end local 1 // java.lang.Class strategy
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;
            0    2     1        strategy  Ljava/lang/Class<TT;>;
            0    2     2  implementation  Ljava/lang/Class<+TT;>;
            0    2     3            name  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Class<+TT;>;Ljava/lang/String;)V
    MethodParameters:
                Name  Flags
      strategy        
      implementation  
      name            

  public <T> void addExplicitStrategyRegistration(org.hibernate.boot.registry.selector.StrategyRegistration<T>);
    descriptor: (Lorg/hibernate/boot/registry/selector/StrategyRegistration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
        start local 1 // org.hibernate.boot.registry.selector.StrategyRegistration strategyRegistration
         0: .line 138
            aload 1 /* strategyRegistration */
            invokeinterface org.hibernate.boot.registry.selector.StrategyRegistration.getStrategyRole:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isInterface:()Z
            ifne 2
         1: .line 140
            getstatic org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.log:Lorg/jboss/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Registering non-interface strategy : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* strategyRegistration */
            invokeinterface org.hibernate.boot.registry.selector.StrategyRegistration.getStrategyRole:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jboss.logging.Logger.debug:(Ljava/lang/Object;)V
         2: .line 143
      StackMap locals:
      StackMap stack:
            aload 1 /* strategyRegistration */
            invokeinterface org.hibernate.boot.registry.selector.StrategyRegistration.getStrategyRole:()Ljava/lang/Class;
            aload 1 /* strategyRegistration */
            invokeinterface org.hibernate.boot.registry.selector.StrategyRegistration.getStrategyImplementation:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 9
         3: .line 144
            new org.hibernate.boot.registry.selector.spi.StrategySelectionException
            dup
         4: .line 145
            new java.lang.StringBuilder
            dup
            ldc "Implementation class ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* strategyRegistration */
            invokeinterface org.hibernate.boot.registry.selector.StrategyRegistration.getStrategyImplementation:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 146
            ldc "] does not implement strategy interface ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 147
            aload 1 /* strategyRegistration */
            invokeinterface org.hibernate.boot.registry.selector.StrategyRegistration.getStrategyRole:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 145
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 144
            invokespecial org.hibernate.boot.registry.selector.spi.StrategySelectionException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.explicitStrategyRegistrations:Ljava/util/List;
            aload 1 /* strategyRegistration */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 151
            return
        end local 1 // org.hibernate.boot.registry.selector.StrategyRegistration strategyRegistration
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0                  this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;
            0   11     1  strategyRegistration  Lorg/hibernate/boot/registry/selector/StrategyRegistration<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/hibernate/boot/registry/selector/StrategyRegistration<TT;>;)V
    MethodParameters:
                      Name  Flags
      strategyRegistration  

  public org.hibernate.boot.registry.selector.spi.StrategySelector buildSelector(org.hibernate.boot.registry.classloading.spi.ClassLoaderService);
    descriptor: (Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;)Lorg/hibernate/boot/registry/selector/spi/StrategySelector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
        start local 1 // org.hibernate.boot.registry.classloading.spi.ClassLoaderService classLoaderService
         0: .line 162
            new org.hibernate.boot.registry.selector.internal.StrategySelectorImpl
            dup
            aload 1 /* classLoaderService */
            invokespecial org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.<init>:(Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;)V
            astore 2 /* strategySelector */
        start local 2 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
         1: .line 165
            aload 0 /* this */
            aload 2 /* strategySelector */
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialects:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;)V
         2: .line 166
            aload 0 /* this */
            aload 2 /* strategySelector */
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;)V
         3: .line 167
            aload 0 /* this */
            aload 2 /* strategySelector */
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addTransactionFactories:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;)V
         4: .line 168
            aload 0 /* this */
            aload 2 /* strategySelector */
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addMultiTableBulkIdStrategies:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;)V
         5: .line 169
            aload 0 /* this */
            aload 2 /* strategySelector */
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addEntityCopyObserverStrategies:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;)V
         6: .line 172
            aload 1 /* classLoaderService */
            ldc Lorg/hibernate/boot/registry/selector/StrategyRegistrationProvider;
            invokeinterface org.hibernate.boot.registry.classloading.spi.ClassLoaderService.loadJavaServices:(Ljava/lang/Class;)Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder org.hibernate.boot.registry.classloading.spi.ClassLoaderService org.hibernate.boot.registry.selector.internal.StrategySelectorImpl top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.boot.registry.selector.StrategyRegistrationProvider
            astore 3 /* provider */
        start local 3 // org.hibernate.boot.registry.selector.StrategyRegistrationProvider provider
         8: .line 173
            aload 3 /* provider */
            invokeinterface org.hibernate.boot.registry.selector.StrategyRegistrationProvider.getStrategyRegistrations:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder org.hibernate.boot.registry.classloading.spi.ClassLoaderService org.hibernate.boot.registry.selector.internal.StrategySelectorImpl org.hibernate.boot.registry.selector.StrategyRegistrationProvider java.util.Iterator top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.boot.registry.selector.StrategyRegistration
            astore 5 /* discoveredStrategyRegistration */
        start local 5 // org.hibernate.boot.registry.selector.StrategyRegistration discoveredStrategyRegistration
        10: .line 174
            aload 0 /* this */
            aload 2 /* strategySelector */
            aload 5 /* discoveredStrategyRegistration */
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.applyFromStrategyRegistration:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Lorg/hibernate/boot/registry/selector/StrategyRegistration;)V
        end local 5 // org.hibernate.boot.registry.selector.StrategyRegistration discoveredStrategyRegistration
        11: .line 173
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 3 // org.hibernate.boot.registry.selector.StrategyRegistrationProvider provider
        12: .line 172
      StackMap locals: org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder org.hibernate.boot.registry.classloading.spi.ClassLoaderService org.hibernate.boot.registry.selector.internal.StrategySelectorImpl top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        13: .line 179
            aload 0 /* this */
            getfield org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.explicitStrategyRegistrations:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 16
      StackMap locals:
      StackMap stack:
        14: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.boot.registry.selector.StrategyRegistration
            astore 3 /* explicitStrategyRegistration */
        start local 3 // org.hibernate.boot.registry.selector.StrategyRegistration explicitStrategyRegistration
        15: .line 180
            aload 0 /* this */
            aload 2 /* strategySelector */
            aload 3 /* explicitStrategyRegistration */
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.applyFromStrategyRegistration:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Lorg/hibernate/boot/registry/selector/StrategyRegistration;)V
        end local 3 // org.hibernate.boot.registry.selector.StrategyRegistration explicitStrategyRegistration
        16: .line 179
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        17: .line 183
            aload 2 /* strategySelector */
            areturn
        end local 2 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        end local 1 // org.hibernate.boot.registry.classloading.spi.ClassLoaderService classLoaderService
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   18     0                            this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;
            0   18     1              classLoaderService  Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            1   18     2                strategySelector  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;
            8   12     3                        provider  Lorg/hibernate/boot/registry/selector/StrategyRegistrationProvider;
           10   11     5  discoveredStrategyRegistration  Lorg/hibernate/boot/registry/selector/StrategyRegistration;
           15   16     3    explicitStrategyRegistration  Lorg/hibernate/boot/registry/selector/StrategyRegistration;
    MethodParameters:
                    Name  Flags
      classLoaderService  

  private <T> void applyFromStrategyRegistration(org.hibernate.boot.registry.selector.internal.StrategySelectorImpl, org.hibernate.boot.registry.selector.StrategyRegistration<T>);
    descriptor: (Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Lorg/hibernate/boot/registry/selector/StrategyRegistration;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
        start local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        start local 2 // org.hibernate.boot.registry.selector.StrategyRegistration strategyRegistration
         0: .line 188
            aload 2 /* strategyRegistration */
            invokeinterface org.hibernate.boot.registry.selector.StrategyRegistration.getSelectorNames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder org.hibernate.boot.registry.selector.internal.StrategySelectorImpl org.hibernate.boot.registry.selector.StrategyRegistration top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* name */
        start local 3 // java.lang.String name
         2: .line 189
            aload 1 /* strategySelector */
         3: .line 190
            aload 2 /* strategyRegistration */
            invokeinterface org.hibernate.boot.registry.selector.StrategyRegistration.getStrategyRole:()Ljava/lang/Class;
         4: .line 191
            aload 3 /* name */
         5: .line 192
            aload 2 /* strategyRegistration */
            invokeinterface org.hibernate.boot.registry.selector.StrategyRegistration.getStrategyImplementation:()Ljava/lang/Class;
         6: .line 189
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
        end local 3 // java.lang.String name
         7: .line 188
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 195
            return
        end local 2 // org.hibernate.boot.registry.selector.StrategyRegistration strategyRegistration
        end local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    9     0                  this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;
            0    9     1      strategySelector  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;
            0    9     2  strategyRegistration  Lorg/hibernate/boot/registry/selector/StrategyRegistration<TT;>;
            2    7     3                  name  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Lorg/hibernate/boot/registry/selector/StrategyRegistration<TT;>;)V
    MethodParameters:
                      Name  Flags
      strategySelector      
      strategyRegistration  

  private void addDialects(org.hibernate.boot.registry.selector.internal.StrategySelectorImpl);
    descriptor: (Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
        start local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
         0: .line 198
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/Cache71Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
         1: .line 199
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/CUBRIDDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
         2: .line 200
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/DB2Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
         3: .line 201
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/DB2390Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
         4: .line 202
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/DB2400Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
         5: .line 203
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/DerbyTenFiveDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
         6: .line 204
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/DerbyTenSixDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
         7: .line 205
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/DerbyTenSevenDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
         8: .line 206
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/FirebirdDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
         9: .line 207
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/FrontBaseDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        10: .line 208
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/H2Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        11: .line 209
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/HSQLDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        12: .line 210
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/InformixDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        13: .line 211
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/IngresDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        14: .line 212
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/Ingres9Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        15: .line 213
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/Ingres10Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        16: .line 214
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/InterbaseDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        17: .line 215
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/JDataStoreDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        18: .line 216
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/MckoiDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        19: .line 217
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/MimerSQLDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        20: .line 218
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/MySQL5Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        21: .line 219
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/MySQL5InnoDBDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        22: .line 220
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/MySQL5Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        23: .line 221
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/MySQL5InnoDBDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        24: .line 222
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/Oracle8iDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        25: .line 223
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/Oracle9iDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        26: .line 224
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/Oracle10gDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        27: .line 225
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/PointbaseDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        28: .line 226
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/PostgresPlusDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        29: .line 227
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/PostgreSQL81Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        30: .line 228
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/PostgreSQL82Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        31: .line 229
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/PostgreSQL9Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        32: .line 230
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/ProgressDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        33: .line 231
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/SAPDBDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        34: .line 232
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/SQLServerDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        35: .line 233
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/SQLServer2005Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        36: .line 234
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/SQLServer2008Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        37: .line 235
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/Sybase11Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        38: .line 236
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/SybaseAnywhereDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        39: .line 237
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/SybaseASE15Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        40: .line 238
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/SybaseASE157Dialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        41: .line 239
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/TeradataDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        42: .line 240
            aload 0 /* this */
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/TimesTenDialect;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
        43: .line 241
            return
        end local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   44     0              this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;
            0   44     1  strategySelector  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;
    MethodParameters:
                  Name  Flags
      strategySelector  

  private void addDialect(org.hibernate.boot.registry.selector.internal.StrategySelectorImpl, java.lang.Class<? extends org.hibernate.dialect.Dialect>);
    descriptor: (Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
        start local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        start local 2 // java.lang.Class dialectClass
         0: .line 244
            aload 2 /* dialectClass */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            astore 3 /* simpleName */
        start local 3 // java.lang.String simpleName
         1: .line 245
            aload 3 /* simpleName */
            ldc "Dialect"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 246
            aload 3 /* simpleName */
            iconst_0
            aload 3 /* simpleName */
            invokevirtual java.lang.String.length:()I
            ldc "Dialect"
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* simpleName */
         3: .line 248
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/dialect/Dialect;
            aload 3 /* simpleName */
            aload 2 /* dialectClass */
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
         4: .line 249
            return
        end local 3 // java.lang.String simpleName
        end local 2 // java.lang.Class dialectClass
        end local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;
            0    5     1  strategySelector  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;
            0    5     2      dialectClass  Ljava/lang/Class<+Lorg/hibernate/dialect/Dialect;>;
            1    5     3        simpleName  Ljava/lang/String;
    Signature: (Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class<+Lorg/hibernate/dialect/Dialect;>;)V
    MethodParameters:
                  Name  Flags
      strategySelector  
      dialectClass      

  private void addJtaPlatforms(org.hibernate.boot.registry.selector.internal.StrategySelectorImpl);
    descriptor: (Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
        start local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
         0: .line 252
            aload 0 /* this */
         1: .line 253
            aload 1 /* strategySelector */
         2: .line 254
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/BorlandEnterpriseServerJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 255
            ldc "Borland"
            aastore
            dup
            iconst_1
         4: .line 256
            ldc "org.hibernate.service.jta.platform.internal.BorlandEnterpriseServerJtaPlatform"
            aastore
         5: .line 252
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
         6: .line 259
            aload 0 /* this */
         7: .line 260
            aload 1 /* strategySelector */
         8: .line 261
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/BitronixJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         9: .line 262
            ldc "Bitronix"
            aastore
            dup
            iconst_1
        10: .line 263
            ldc "org.hibernate.service.jta.platform.internal.BitronixJtaPlatform"
            aastore
        11: .line 259
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        12: .line 266
            aload 0 /* this */
        13: .line 267
            aload 1 /* strategySelector */
        14: .line 268
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/JBossAppServerJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        15: .line 269
            ldc "JBossAS"
            aastore
            dup
            iconst_1
        16: .line 270
            ldc "org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform"
            aastore
        17: .line 266
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        18: .line 273
            aload 0 /* this */
        19: .line 274
            aload 1 /* strategySelector */
        20: .line 275
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/JBossStandAloneJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        21: .line 276
            ldc "JBossTS"
            aastore
            dup
            iconst_1
        22: .line 277
            ldc "org.hibernate.service.jta.platform.internal.JBossStandAloneJtaPlatform"
            aastore
        23: .line 273
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        24: .line 280
            aload 0 /* this */
        25: .line 281
            aload 1 /* strategySelector */
        26: .line 282
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/JOnASJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        27: .line 283
            ldc "JOnAS"
            aastore
            dup
            iconst_1
        28: .line 284
            ldc "org.hibernate.service.jta.platform.internal.JOnASJtaPlatform"
            aastore
        29: .line 280
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        30: .line 287
            aload 0 /* this */
        31: .line 288
            aload 1 /* strategySelector */
        32: .line 289
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/JOTMJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        33: .line 290
            ldc "JOTM"
            aastore
            dup
            iconst_1
        34: .line 291
            ldc "org.hibernate.service.jta.platform.internal.JOTMJtaPlatform"
            aastore
        35: .line 287
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        36: .line 294
            aload 0 /* this */
        37: .line 295
            aload 1 /* strategySelector */
        38: .line 296
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/JRun4JtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        39: .line 297
            ldc "JRun4"
            aastore
            dup
            iconst_1
        40: .line 298
            ldc "org.hibernate.service.jta.platform.internal.JRun4JtaPlatform"
            aastore
        41: .line 294
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        42: .line 301
            aload 0 /* this */
        43: .line 302
            aload 1 /* strategySelector */
        44: .line 303
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/OC4JJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        45: .line 304
            ldc "OC4J"
            aastore
            dup
            iconst_1
        46: .line 305
            ldc "org.hibernate.service.jta.platform.internal.OC4JJtaPlatform"
            aastore
        47: .line 301
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        48: .line 308
            aload 0 /* this */
        49: .line 309
            aload 1 /* strategySelector */
        50: .line 310
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/OrionJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        51: .line 311
            ldc "Orion"
            aastore
            dup
            iconst_1
        52: .line 312
            ldc "org.hibernate.service.jta.platform.internal.OrionJtaPlatform"
            aastore
        53: .line 308
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        54: .line 315
            aload 0 /* this */
        55: .line 316
            aload 1 /* strategySelector */
        56: .line 317
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/ResinJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        57: .line 318
            ldc "Resin"
            aastore
            dup
            iconst_1
        58: .line 319
            ldc "org.hibernate.service.jta.platform.internal.ResinJtaPlatform"
            aastore
        59: .line 315
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        60: .line 322
            aload 0 /* this */
        61: .line 323
            aload 1 /* strategySelector */
        62: .line 324
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/SunOneJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        63: .line 325
            ldc "SunOne"
            aastore
            dup
            iconst_1
        64: .line 326
            ldc "org.hibernate.service.jta.platform.internal.SunOneJtaPlatform"
            aastore
        65: .line 322
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        66: .line 329
            aload 0 /* this */
        67: .line 330
            aload 1 /* strategySelector */
        68: .line 331
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/WeblogicJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        69: .line 332
            ldc "Weblogic"
            aastore
            dup
            iconst_1
        70: .line 333
            ldc "org.hibernate.service.jta.platform.internal.WeblogicJtaPlatform"
            aastore
        71: .line 329
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        72: .line 336
            aload 0 /* this */
        73: .line 337
            aload 1 /* strategySelector */
        74: .line 338
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/WebSphereJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        75: .line 339
            ldc "WebSphere"
            aastore
            dup
            iconst_1
        76: .line 340
            ldc "org.hibernate.service.jta.platform.internal.WebSphereJtaPlatform"
            aastore
        77: .line 336
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        78: .line 343
            aload 0 /* this */
        79: .line 344
            aload 1 /* strategySelector */
        80: .line 345
            ldc Lorg/hibernate/engine/transaction/jta/platform/internal/WebSphereExtendedJtaPlatform;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        81: .line 346
            ldc "WebSphereExtended"
            aastore
            dup
            iconst_1
        82: .line 347
            ldc "org.hibernate.service.jta.platform.internal.WebSphereExtendedJtaPlatform"
            aastore
        83: .line 343
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addJtaPlatforms:(Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
        84: .line 349
            return
        end local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   85     0              this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;
            0   85     1  strategySelector  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;
    MethodParameters:
                  Name  Flags
      strategySelector  

  private void addJtaPlatforms(org.hibernate.boot.registry.selector.internal.StrategySelectorImpl, java.lang.Class<? extends org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform>, java.lang.String[]);
    descriptor: (Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class;[Ljava/lang/String;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
        start local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        start local 2 // java.lang.Class impl
        start local 3 // java.lang.String[] names
         0: .line 352
            aload 3 /* names */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 4
      StackMap locals: org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder org.hibernate.boot.registry.selector.internal.StrategySelectorImpl java.lang.Class java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         1: aload 7
            iload 5
            aaload
            astore 4 /* name */
        start local 4 // java.lang.String name
         2: .line 353
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/engine/transaction/jta/platform/spi/JtaPlatform;
            aload 4 /* name */
            aload 2 /* impl */
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
        end local 4 // java.lang.String name
         3: .line 352
            iinc 5 1
      StackMap locals:
      StackMap stack:
         4: iload 5
            iload 6
            if_icmplt 1
         5: .line 355
            return
        end local 3 // java.lang.String[] names
        end local 2 // java.lang.Class impl
        end local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;
            0    6     1  strategySelector  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;
            0    6     2              impl  Ljava/lang/Class<+Lorg/hibernate/engine/transaction/jta/platform/spi/JtaPlatform;>;
            0    6     3             names  [Ljava/lang/String;
            2    3     4              name  Ljava/lang/String;
    Signature: (Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;Ljava/lang/Class<+Lorg/hibernate/engine/transaction/jta/platform/spi/JtaPlatform;>;[Ljava/lang/String;)V
    MethodParameters:
                  Name  Flags
      strategySelector  
      impl              
      names             

  private void addTransactionFactories(org.hibernate.boot.registry.selector.internal.StrategySelectorImpl);
    descriptor: (Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
        start local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
         0: .line 358
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/engine/transaction/spi/TransactionFactory;
            ldc "jdbc"
            ldc Lorg/hibernate/engine/transaction/internal/jdbc/JdbcTransactionFactory;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
         1: .line 359
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/engine/transaction/spi/TransactionFactory;
            ldc "org.hibernate.transaction.JDBCTransactionFactory"
            ldc Lorg/hibernate/engine/transaction/internal/jdbc/JdbcTransactionFactory;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
         2: .line 361
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/engine/transaction/spi/TransactionFactory;
            ldc "jta"
            ldc Lorg/hibernate/engine/transaction/internal/jta/JtaTransactionFactory;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
         3: .line 362
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/engine/transaction/spi/TransactionFactory;
            ldc "org.hibernate.transaction.JTATransactionFactory"
            ldc Lorg/hibernate/engine/transaction/internal/jta/JtaTransactionFactory;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
         4: .line 364
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/engine/transaction/spi/TransactionFactory;
            ldc "cmt"
            ldc Lorg/hibernate/engine/transaction/internal/jta/CMTTransactionFactory;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
         5: .line 365
            aload 1 /* strategySelector */
            ldc Lorg/hibernate/engine/transaction/spi/TransactionFactory;
            ldc "org.hibernate.transaction.CMTTransactionFactory"
            ldc Lorg/hibernate/engine/transaction/internal/jta/CMTTransactionFactory;
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
         6: .line 366
            return
        end local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;
            0    7     1  strategySelector  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;
    MethodParameters:
                  Name  Flags
      strategySelector  

  private void addMultiTableBulkIdStrategies(org.hibernate.boot.registry.selector.internal.StrategySelectorImpl);
    descriptor: (Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
        start local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
         0: .line 369
            aload 1 /* strategySelector */
         1: .line 370
            ldc Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy;
         2: .line 371
            ldc "persistent"
         3: .line 372
            ldc Lorg/hibernate/hql/spi/PersistentTableBulkIdStrategy;
         4: .line 369
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
         5: .line 374
            aload 1 /* strategySelector */
         6: .line 375
            ldc Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy;
         7: .line 376
            ldc "temporary"
         8: .line 377
            ldc Lorg/hibernate/hql/spi/TemporaryTableBulkIdStrategy;
         9: .line 374
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
        10: .line 379
            return
        end local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;
            0   11     1  strategySelector  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;
    MethodParameters:
                  Name  Flags
      strategySelector  

  private void addEntityCopyObserverStrategies(org.hibernate.boot.registry.selector.internal.StrategySelectorImpl);
    descriptor: (Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
        start local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
         0: .line 382
            aload 1 /* strategySelector */
         1: .line 383
            ldc Lorg/hibernate/event/spi/EntityCopyObserver;
         2: .line 384
            ldc "disallow"
         3: .line 385
            ldc Lorg/hibernate/event/internal/EntityCopyNotAllowedObserver;
         4: .line 382
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
         5: .line 387
            aload 1 /* strategySelector */
         6: .line 388
            ldc Lorg/hibernate/event/spi/EntityCopyObserver;
         7: .line 389
            ldc "allow"
         8: .line 390
            ldc Lorg/hibernate/event/internal/EntityCopyAllowedObserver;
         9: .line 387
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
        10: .line 392
            aload 1 /* strategySelector */
        11: .line 393
            ldc Lorg/hibernate/event/spi/EntityCopyObserver;
        12: .line 394
            ldc "log"
        13: .line 395
            ldc Lorg/hibernate/event/internal/EntityCopyAllowedLoggedObserver;
        14: .line 392
            invokevirtual org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
        15: .line 397
            return
        end local 1 // org.hibernate.boot.registry.selector.internal.StrategySelectorImpl strategySelector
        end local 0 // org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorBuilder;
            0   16     1  strategySelector  Lorg/hibernate/boot/registry/selector/internal/StrategySelectorImpl;
    MethodParameters:
                  Name  Flags
      strategySelector  
}
SourceFile: "StrategySelectorBuilder.java"