public class org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl implements org.hibernate.boot.registry.classloading.spi.ClassLoaderService
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl
  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.Map<java.lang.Class, java.util.ServiceLoader> serviceLoaders;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class;Ljava/util/ServiceLoader;>;

  private org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader aggregatedClassLoader;
    descriptor: Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
         0: .line 64
            aload 0 /* this */
            ldc Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokespecial org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.<init>:(Ljava/lang/ClassLoader;)V
         1: .line 65
            return
        end local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;

  public void <init>(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 73
            aload 0 /* this */
            aload 1 /* classLoader */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokespecial org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.<init>:(Ljava/util/Collection;)V
         1: .line 74
            return
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            0    2     1  classLoader  Ljava/lang/ClassLoader;
    MethodParameters:
             Name  Flags
      classLoader  

  public void <init>(java.util.Collection<java.lang.ClassLoader>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
        start local 1 // java.util.Collection providedClassLoaders
         0: .line 81
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.serviceLoaders:Ljava/util/Map;
         2: .line 82
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* orderedClassLoaderSet */
        start local 2 // java.util.LinkedHashSet orderedClassLoaderSet
         3: .line 85
            aload 1 /* providedClassLoaders */
            ifnull 9
         4: .line 86
            aload 1 /* providedClassLoaders */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl java.util.Collection java.util.LinkedHashSet top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 3 /* classLoader */
        start local 3 // java.lang.ClassLoader classLoader
         6: .line 87
            aload 3 /* classLoader */
            ifnull 8
         7: .line 88
            aload 2 /* orderedClassLoaderSet */
            aload 3 /* classLoader */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.ClassLoader classLoader
         8: .line 86
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 95
      StackMap locals: org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl java.util.Collection java.util.LinkedHashSet
      StackMap stack:
            aload 2 /* orderedClassLoaderSet */
            ldc Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        10: .line 98
            invokestatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.locateTCCL:()Ljava/lang/ClassLoader;
            astore 3 /* tccl */
        start local 3 // java.lang.ClassLoader tccl
        11: .line 99
            aload 3 /* tccl */
            ifnull 13
        12: .line 100
            aload 2 /* orderedClassLoaderSet */
            aload 3 /* tccl */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        13: .line 103
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            invokestatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.locateSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* sysClassLoader */
        start local 4 // java.lang.ClassLoader sysClassLoader
        14: .line 104
            aload 4 /* sysClassLoader */
            ifnull 16
        15: .line 105
            aload 2 /* orderedClassLoaderSet */
            aload 4 /* sysClassLoader */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        16: .line 109
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            new org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader
            dup
            aload 2 /* orderedClassLoaderSet */
            invokespecial org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.<init>:(Ljava/util/LinkedHashSet;)V
            putfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
        17: .line 110
            return
        end local 4 // java.lang.ClassLoader sysClassLoader
        end local 3 // java.lang.ClassLoader tccl
        end local 2 // java.util.LinkedHashSet orderedClassLoaderSet
        end local 1 // java.util.Collection providedClassLoaders
        end local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   18     0                   this  Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            0   18     1   providedClassLoaders  Ljava/util/Collection<Ljava/lang/ClassLoader;>;
            3   18     2  orderedClassLoaderSet  Ljava/util/LinkedHashSet<Ljava/lang/ClassLoader;>;
            6    8     3            classLoader  Ljava/lang/ClassLoader;
           11   18     3                   tccl  Ljava/lang/ClassLoader;
           14   18     4         sysClassLoader  Ljava/lang/ClassLoader;
    Signature: (Ljava/util/Collection<Ljava/lang/ClassLoader;>;)V
    MethodParameters:
                      Name  Flags
      providedClassLoaders  

  public static org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl fromConfigSettings(java.util.Map);
    descriptor: (Ljava/util/Map;)Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.util.Map configValues
         0: .line 124
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* providedClassLoaders */
        start local 1 // java.util.List providedClassLoaders
         1: .line 126
            aload 0 /* configValues */
            ldc "hibernate.classLoaders"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Collection
            astore 2 /* classLoaders */
        start local 2 // java.util.Collection classLoaders
         2: .line 127
            aload 2 /* classLoaders */
            ifnull 7
         3: .line 128
            aload 2 /* classLoaders */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: java.util.Map java.util.List java.util.Collection top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 3 /* classLoader */
        start local 3 // java.lang.ClassLoader classLoader
         5: .line 129
            aload 1 /* providedClassLoaders */
            aload 3 /* classLoader */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.ClassLoader classLoader
         6: .line 128
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 133
      StackMap locals: java.util.Map java.util.List java.util.Collection
      StackMap stack:
            aload 1 /* providedClassLoaders */
            ldc "hibernate.classLoader.application"
            aload 0 /* configValues */
            invokestatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.addIfSet:(Ljava/util/List;Ljava/lang/String;Ljava/util/Map;)V
         8: .line 134
            aload 1 /* providedClassLoaders */
            ldc "hibernate.classLoader.resources"
            aload 0 /* configValues */
            invokestatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.addIfSet:(Ljava/util/List;Ljava/lang/String;Ljava/util/Map;)V
         9: .line 135
            aload 1 /* providedClassLoaders */
            ldc "hibernate.classLoader.hibernate"
            aload 0 /* configValues */
            invokestatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.addIfSet:(Ljava/util/List;Ljava/lang/String;Ljava/util/Map;)V
        10: .line 136
            aload 1 /* providedClassLoaders */
            ldc "hibernate.classLoader.environment"
            aload 0 /* configValues */
            invokestatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.addIfSet:(Ljava/util/List;Ljava/lang/String;Ljava/util/Map;)V
        11: .line 138
            aload 1 /* providedClassLoaders */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 17
        12: .line 139
            getstatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.log:Lorg/jboss/logging/Logger;
            ldc "Incoming config yielded no classloaders; adding standard SE ones"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.jboss.logging.Logger.debugf:(Ljava/lang/String;[Ljava/lang/Object;)V
        13: .line 140
            invokestatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.locateTCCL:()Ljava/lang/ClassLoader;
            astore 3 /* tccl */
        start local 3 // java.lang.ClassLoader tccl
        14: .line 141
            aload 3 /* tccl */
            ifnull 16
        15: .line 142
            aload 1 /* providedClassLoaders */
            aload 3 /* tccl */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 144
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 1 /* providedClassLoaders */
            ldc Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.ClassLoader tccl
        17: .line 147
      StackMap locals:
      StackMap stack:
            new org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl
            dup
            aload 1 /* providedClassLoaders */
            invokespecial org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.<init>:(Ljava/util/Collection;)V
            areturn
        end local 2 // java.util.Collection classLoaders
        end local 1 // java.util.List providedClassLoaders
        end local 0 // java.util.Map configValues
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0          configValues  Ljava/util/Map;
            1   18     1  providedClassLoaders  Ljava/util/List<Ljava/lang/ClassLoader;>;
            2   18     2          classLoaders  Ljava/util/Collection<Ljava/lang/ClassLoader;>;
            5    6     3           classLoader  Ljava/lang/ClassLoader;
           14   17     3                  tccl  Ljava/lang/ClassLoader;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      configValues  

  private static void addIfSet(java.util.List<java.lang.ClassLoader>, java.lang.String, java.util.Map);
    descriptor: (Ljava/util/List;Ljava/lang/String;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.util.List providedClassLoaders
        start local 1 // java.lang.String name
        start local 2 // java.util.Map configVales
         0: .line 151
            aload 2 /* configVales */
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 3 /* providedClassLoader */
        start local 3 // java.lang.ClassLoader providedClassLoader
         1: .line 152
            aload 3 /* providedClassLoader */
            ifnull 3
         2: .line 153
            aload 0 /* providedClassLoaders */
            aload 3 /* providedClassLoader */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 155
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            return
        end local 3 // java.lang.ClassLoader providedClassLoader
        end local 2 // java.util.Map configVales
        end local 1 // java.lang.String name
        end local 0 // java.util.List providedClassLoaders
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0  providedClassLoaders  Ljava/util/List<Ljava/lang/ClassLoader;>;
            0    4     1                  name  Ljava/lang/String;
            0    4     2           configVales  Ljava/util/Map;
            1    4     3   providedClassLoader  Ljava/lang/ClassLoader;
    Signature: (Ljava/util/List<Ljava/lang/ClassLoader;>;Ljava/lang/String;Ljava/util/Map;)V
    MethodParameters:
                      Name  Flags
      providedClassLoaders  
      name                  
      configVales           

  private static java.lang.ClassLoader locateSystemClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 159
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
         1: areturn
         2: .line 161
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         3: .line 162
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception

  private static java.lang.ClassLoader locateTCCL();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 168
            invokestatic org.hibernate.internal.util.ClassLoaderHelper.getContextClassLoader:()Ljava/lang/ClassLoader;
         1: areturn
         2: .line 170
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         3: .line 171
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception

  public <T> java.lang.Class<T> classForName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
        start local 1 // java.lang.String className
         0: .line 242
            aload 1 /* className */
            iconst_1
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
         1: areturn
         2: .line 244
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         3: .line 245
            new org.hibernate.boot.registry.classloading.spi.ClassLoadingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to load class ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial org.hibernate.boot.registry.classloading.spi.ClassLoadingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
        end local 1 // java.lang.String className
        end local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            0    4     1  className  Ljava/lang/String;
            3    4     2          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)Ljava/lang/Class<TT;>;
    MethodParameters:
           Name  Flags
      className  

  public java.net.URL locateResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
        start local 1 // java.lang.String name
         0: .line 253
            new java.net.URL
            dup
            aload 1 /* name */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
         1: areturn
         2: .line 255
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         3: .line 259
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
            aload 1 /* name */
            invokevirtual org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
         4: areturn
         5: .line 261
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 264
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            0    7     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
           3     4       5  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public java.io.InputStream locateResourceStream(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
        start local 1 // java.lang.String name
         0: .line 271
            getstatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.log:Lorg/jboss/logging/Logger;
            ldc "trying via [new URL(\"%s\")]"
            aload 1 /* name */
            invokevirtual org.jboss.logging.Logger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 272
            new java.net.URL
            dup
            aload 1 /* name */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
         2: areturn
         3: .line 274
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         4: .line 278
            getstatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.log:Lorg/jboss/logging/Logger;
            ldc "trying via [ClassLoader.getResourceAsStream(\"%s\")]"
            aload 1 /* name */
            invokevirtual org.jboss.logging.Logger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 279
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
            aload 1 /* name */
            invokevirtual org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 2 /* stream */
        start local 2 // java.io.InputStream stream
         6: .line 280
            aload 2 /* stream */
            ifnull 10
         7: .line 281
            aload 2 /* stream */
         8: areturn
        end local 2 // java.io.InputStream stream
         9: .line 284
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        10: .line 287
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
            aload 1 /* name */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 12
      StackMap locals:
      StackMap stack:
        11: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
        12: astore 2 /* stripped */
        start local 2 // java.lang.String stripped
        13: .line 289
            aload 2 /* stripped */
            ifnull 24
        14: .line 291
            getstatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.log:Lorg/jboss/logging/Logger;
            ldc "trying via [new URL(\"%s\")]"
            aload 2 /* stripped */
            invokevirtual org.jboss.logging.Logger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 292
            new java.net.URL
            dup
            aload 2 /* stripped */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
        16: areturn
        17: .line 294
      StackMap locals: org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl java.lang.String java.lang.String
      StackMap stack: java.lang.Exception
            pop
        18: .line 298
            getstatic org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.log:Lorg/jboss/logging/Logger;
            ldc "trying via [ClassLoader.getResourceAsStream(\"%s\")]"
            aload 2 /* stripped */
            invokevirtual org.jboss.logging.Logger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
        19: .line 299
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
            aload 2 /* stripped */
            invokevirtual org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 3 /* stream */
        start local 3 // java.io.InputStream stream
        20: .line 300
            aload 3 /* stream */
            ifnull 24
        21: .line 301
            aload 3 /* stream */
        22: areturn
        end local 3 // java.io.InputStream stream
        23: .line 304
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        24: .line 308
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String stripped
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0      this  Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            0   25     1      name  Ljava/lang/String;
            6    9     2    stream  Ljava/io/InputStream;
           13   25     2  stripped  Ljava/lang/String;
           20   23     3    stream  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Exception
           4     8       9  Class java.lang.Exception
          14    16      17  Class java.lang.Exception
          18    22      23  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public java.util.List<java.net.URL> locateResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
        start local 1 // java.lang.String name
         0: .line 313
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* urls */
        start local 2 // java.util.ArrayList urls
         1: .line 315
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
            aload 1 /* name */
            invokevirtual org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            astore 3 /* urlEnumeration */
        start local 3 // java.util.Enumeration urlEnumeration
         2: .line 316
            aload 3 /* urlEnumeration */
            ifnull 8
            aload 3 /* urlEnumeration */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifeq 8
         3: .line 317
            goto 5
         4: .line 318
      StackMap locals: java.util.ArrayList java.util.Enumeration
      StackMap stack:
            aload 2 /* urls */
            aload 3 /* urlEnumeration */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.URL
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 317
      StackMap locals:
      StackMap stack:
            aload 3 /* urlEnumeration */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 3 // java.util.Enumeration urlEnumeration
         6: .line 321
            goto 8
         7: .line 322
      StackMap locals: org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl java.lang.String java.util.ArrayList
      StackMap stack: java.lang.Exception
            pop
         8: .line 325
      StackMap locals:
      StackMap stack:
            aload 2 /* urls */
            areturn
        end local 2 // java.util.ArrayList urls
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            0    9     1            name  Ljava/lang/String;
            1    9     2            urls  Ljava/util/ArrayList<Ljava/net/URL;>;
            2    6     3  urlEnumeration  Ljava/util/Enumeration<Ljava/net/URL;>;
      Exception table:
        from    to  target  type
           1     6       7  Class java.lang.Exception
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/net/URL;>;
    MethodParameters:
      Name  Flags
      name  

  public <S> java.util.LinkedHashSet<S> loadJavaServices(java.lang.Class<S>);
    descriptor: (Ljava/lang/Class;)Ljava/util/LinkedHashSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
        start local 1 // java.lang.Class serviceContract
         0: .line 332
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.serviceLoaders:Ljava/util/Map;
            aload 1 /* serviceContract */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 333
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.serviceLoaders:Ljava/util/Map;
            aload 1 /* serviceContract */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ServiceLoader
            astore 2 /* serviceLoader */
        start local 2 // java.util.ServiceLoader serviceLoader
         2: .line 334
            goto 5
        end local 2 // java.util.ServiceLoader serviceLoader
         3: .line 336
      StackMap locals:
      StackMap stack:
            aload 1 /* serviceContract */
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            astore 2 /* serviceLoader */
        start local 2 // java.util.ServiceLoader serviceLoader
         4: .line 337
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.serviceLoaders:Ljava/util/Map;
            aload 1 /* serviceContract */
            aload 2 /* serviceLoader */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 340
      StackMap locals: java.util.ServiceLoader
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 3 /* services */
        start local 3 // java.util.LinkedHashSet services
         6: .line 341
            aload 2 /* serviceLoader */
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl java.lang.Class java.util.ServiceLoader java.util.LinkedHashSet top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 4 /* service */
        start local 4 // java.lang.Object service
         8: .line 342
            aload 3 /* services */
            aload 4 /* service */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object service
         9: .line 341
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 344
            aload 3 /* services */
            areturn
        end local 3 // java.util.LinkedHashSet services
        end local 2 // java.util.ServiceLoader serviceLoader
        end local 1 // java.lang.Class serviceContract
        end local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            0   11     1  serviceContract  Ljava/lang/Class<TS;>;
            2    3     2    serviceLoader  Ljava/util/ServiceLoader<TS;>;
            4   11     2    serviceLoader  Ljava/util/ServiceLoader<TS;>;
            6   11     3         services  Ljava/util/LinkedHashSet<TS;>;
            8    9     4          service  TS;
    Signature: <S:Ljava/lang/Object;>(Ljava/lang/Class<TS;>;)Ljava/util/LinkedHashSet<TS;>;
    MethodParameters:
                 Name  Flags
      serviceContract  

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
         0: .line 349
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.serviceLoaders:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.ServiceLoader
            astore 1 /* serviceLoader */
        start local 1 // java.util.ServiceLoader serviceLoader
         2: .line 350
            aload 1 /* serviceLoader */
            invokevirtual java.util.ServiceLoader.reload:()V
        end local 1 // java.util.ServiceLoader serviceLoader
         3: .line 349
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 352
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.serviceLoaders:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         5: .line 354
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
            ifnull 8
         6: .line 355
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
            invokevirtual org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.destroy:()V
         7: .line 356
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
         8: .line 358
      StackMap locals: org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl
      StackMap stack:
            return
        end local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            2    3     1  serviceLoader  Ljava/util/ServiceLoader;

  public <T> T withTccl(org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$Work<T>);
    descriptor: (Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$Work;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
        start local 1 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$Work work
         0: .line 394
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* tccl */
        start local 2 // java.lang.ClassLoader tccl
         1: .line 396
            iconst_0
            istore 3 /* set */
        start local 3 // boolean set
         2: .line 405
            ldc "hibernate.classloading.use_current_tccl_as_parent"
         3: .line 406
            aload 1 /* work */
            invokeinterface org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$Work.getConfigurationValues:()Ljava/util/Map;
         4: .line 407
            iconst_1
         5: .line 404
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getBoolean:(Ljava/lang/String;Ljava/util/Map;Z)Z
            istore 4 /* useCurrentTcclAsParent */
        start local 4 // boolean useCurrentTcclAsParent
         6: .line 412
            iload 4 /* useCurrentTcclAsParent */
            ifeq 9
         7: .line 413
            new org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$TcclSafeAggregatedClassLoader
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
            aload 2 /* tccl */
            invokespecial org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$TcclSafeAggregatedClassLoader.<init>:(Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;Ljava/lang/ClassLoader;)V
            astore 5 /* tcclNew */
        start local 5 // java.lang.ClassLoader tcclNew
         8: .line 414
            goto 10
        end local 5 // java.lang.ClassLoader tcclNew
         9: .line 416
      StackMap locals: java.lang.ClassLoader int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.aggregatedClassLoader:Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$AggregatedClassLoader;
            astore 5 /* tcclNew */
        start local 5 // java.lang.ClassLoader tcclNew
        10: .line 418
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 5 /* tcclNew */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        11: .line 419
            iconst_1
            istore 3 /* set */
        end local 5 // java.lang.ClassLoader tcclNew
        12: .line 420
            goto 14
        13: .line 421
      StackMap locals: org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$Work java.lang.ClassLoader int int
      StackMap stack: java.lang.Exception
            pop
        14: .line 425
      StackMap locals:
      StackMap stack:
            aload 1 /* work */
            invokeinterface org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$Work.perform:()Ljava/lang/Object;
            astore 6
        15: .line 428
            iload 3 /* set */
            ifeq 17
        16: .line 429
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 2 /* tccl */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        17: .line 425
      StackMap locals: org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$Work java.lang.ClassLoader int int top java.lang.Object
      StackMap stack:
            aload 6
            areturn
        18: .line 427
      StackMap locals: org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$Work java.lang.ClassLoader int int
      StackMap stack: java.lang.Throwable
            astore 5
        19: .line 428
            iload 3 /* set */
            ifeq 21
        20: .line 429
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 2 /* tccl */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        21: .line 431
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        end local 4 // boolean useCurrentTcclAsParent
        end local 3 // boolean set
        end local 2 // java.lang.ClassLoader tccl
        end local 1 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$Work work
        end local 0 // org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   22     0                    this  Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl;
            0   22     1                    work  Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$Work<TT;>;
            1   22     2                    tccl  Ljava/lang/ClassLoader;
            2   22     3                     set  Z
            6   22     4  useCurrentTcclAsParent  Z
            8    9     5                 tcclNew  Ljava/lang/ClassLoader;
           10   12     5                 tcclNew  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           6    12      13  Class java.lang.Exception
          14    15      18  any
    Signature: <T:Ljava/lang/Object;>(Lorg/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl$Work<TT;>;)TT;
    MethodParameters:
      Name  Flags
      work  
}
SourceFile: "ClassLoaderServiceImpl.java"
NestMembers:
  org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader  org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader$1  org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$TcclSafeAggregatedClassLoader  org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$Work
InnerClasses:
  private AggregatedClassLoader = org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader of org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl
  private TcclSafeAggregatedClassLoader = org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$TcclSafeAggregatedClassLoader of org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl
  public abstract Work = org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$Work of org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl