public class io.ebean.config.ClassLoadConfig$ClassLoaderContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebean.config.ClassLoadConfig$ClassLoaderContext
  super_class: java.lang.Object
{
  protected final java.lang.ClassLoader preferredLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.ClassLoader contextLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.ClassLoader callerLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  void <init>(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
        start local 1 // java.lang.ClassLoader preferredLoader
         0: .line 148
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 149
            aload 0 /* this */
            aload 1 /* preferredLoader */
            putfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.preferredLoader:Ljava/lang/ClassLoader;
         2: .line 150
            aload 0 /* this */
            ldc Lio/ebean/config/ServerConfig;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            putfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.callerLoader:Ljava/lang/ClassLoader;
         3: .line 151
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.ebean.config.ClassLoadConfig$ClassLoaderContext.contextLoader:()Ljava/lang/ClassLoader;
            putfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.contextLoader:Ljava/lang/ClassLoader;
         4: .line 152
            return
        end local 1 // java.lang.ClassLoader preferredLoader
        end local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lio/ebean/config/ClassLoadConfig$ClassLoaderContext;
            0    5     1  preferredLoader  Ljava/lang/ClassLoader;
    MethodParameters:
                 Name  Flags
      preferredLoader  

  java.lang.ClassLoader contextLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
         0: .line 155
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* loader */
        start local 1 // java.lang.ClassLoader loader
         1: .line 156
            aload 1 /* loader */
            ifnull 2
            aload 1 /* loader */
            goto 3
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
         2: aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.callerLoader:Ljava/lang/ClassLoader;
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
         3: areturn
        end local 1 // java.lang.ClassLoader loader
        end local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lio/ebean/config/ClassLoadConfig$ClassLoaderContext;
            1    4     1  loader  Ljava/lang/ClassLoader;

  java.util.Enumeration<java.net.URL> getResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
        start local 1 // java.lang.String name
         0: .line 160
            aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.preferredLoader:Ljava/lang/ClassLoader;
            ifnull 2
         1: .line 161
            aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.preferredLoader:Ljava/lang/ClassLoader;
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            areturn
         2: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.ebean.config.ClassLoadConfig$ClassLoaderContext.contextLoader:()Ljava/lang/ClassLoader;
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            areturn
        end local 1 // java.lang.String name
        end local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/ebean/config/ClassLoadConfig$ClassLoaderContext;
            0    3     1  name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
    MethodParameters:
      Name  Flags
      name  

  java.lang.Class<?> forName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
        start local 1 // java.lang.String name
         0: .line 168
            aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.preferredLoader:Ljava/lang/ClassLoader;
            ifnull 2
         1: .line 170
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.preferredLoader:Ljava/lang/ClassLoader;
            invokevirtual io.ebean.config.ClassLoadConfig$ClassLoaderContext.classForName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            areturn
         2: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.contextLoader:Ljava/lang/ClassLoader;
            invokevirtual io.ebean.config.ClassLoadConfig$ClassLoaderContext.classForName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
         3: areturn
         4: .line 175
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 2 /* e */
        start local 2 // java.lang.ClassNotFoundException e
         5: .line 176
            aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.callerLoader:Ljava/lang/ClassLoader;
            aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.contextLoader:Ljava/lang/ClassLoader;
            if_acmpne 7
         6: .line 177
            aload 2 /* e */
            athrow
         7: .line 180
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.callerLoader:Ljava/lang/ClassLoader;
            invokevirtual io.ebean.config.ClassLoadConfig$ClassLoaderContext.classForName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            areturn
        end local 2 // java.lang.ClassNotFoundException e
        end local 1 // java.lang.String name
        end local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/ebean/config/ClassLoadConfig$ClassLoaderContext;
            0    8     1  name  Ljava/lang/String;
            5    8     2     e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  java.lang.Class<?> classForName(java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
        start local 1 // java.lang.String name
        start local 2 // java.lang.ClassLoader classLoader
         0: .line 186
            aload 1 /* name */
            iconst_1
            aload 2 /* classLoader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            areturn
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // java.lang.String name
        end local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/ebean/config/ClassLoadConfig$ClassLoaderContext;
            0    1     1         name  Ljava/lang/String;
            0    1     2  classLoader  Ljava/lang/ClassLoader;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class<*>;
    MethodParameters:
             Name  Flags
      name         
      classLoader  

  java.lang.ClassLoader getClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
         0: .line 190
            aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.preferredLoader:Ljava/lang/ClassLoader;
            ifnull 1
            aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.preferredLoader:Ljava/lang/ClassLoader;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield io.ebean.config.ClassLoadConfig$ClassLoaderContext.contextLoader:Ljava/lang/ClassLoader;
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
         2: areturn
        end local 0 // io.ebean.config.ClassLoadConfig$ClassLoaderContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/ebean/config/ClassLoadConfig$ClassLoaderContext;
}
SourceFile: "ClassLoadConfig.java"
NestHost: io.ebean.config.ClassLoadConfig
InnerClasses:
  protected ClassLoaderContext = io.ebean.config.ClassLoadConfig$ClassLoaderContext of io.ebean.config.ClassLoadConfig