public class org.apache.catalina.loader.WebappLoader extends org.apache.catalina.util.LifecycleMBeanBase implements org.apache.catalina.Loader, java.beans.PropertyChangeListener
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.loader.WebappLoader
  super_class: org.apache.catalina.util.LifecycleMBeanBase
{
  private static final org.apache.juli.logging.Log log;
    descriptor: Lorg/apache/juli/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.apache.catalina.loader.WebappClassLoaderBase classLoader;
    descriptor: Lorg/apache/catalina/loader/WebappClassLoaderBase;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.catalina.Context context;
    descriptor: Lorg/apache/catalina/Context;
    flags: (0x0002) ACC_PRIVATE

  private boolean delegate;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String loaderClass;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.ClassLoader parentClassLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0002) ACC_PRIVATE

  private boolean reloadable;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  protected static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected final java.beans.PropertyChangeSupport support;
    descriptor: Ljava/beans/PropertyChangeSupport;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private java.lang.String classpath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 66
            ldc Lorg/apache/catalina/loader/WebappLoader;
            invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
            putstatic org.apache.catalina.loader.WebappLoader.log:Lorg/apache/juli/logging/Log;
         1: .line 136
            ldc "org.apache.catalina.loader"
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/String;)Lorg/apache/tomcat/util/res/StringManager;
         2: .line 135
            putstatic org.apache.catalina.loader.WebappLoader.sm:Lorg/apache/tomcat/util/res/StringManager;
         3: .line 136
            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.apache.catalina.loader.WebappLoader this
         0: .line 75
            aload 0 /* this */
            aconst_null
            invokespecial org.apache.catalina.loader.WebappLoader.<init>:(Ljava/lang/ClassLoader;)V
         1: .line 76
            return
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/loader/WebappLoader;

  public void <init>(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.catalina.loader.WebappLoader this
        start local 1 // java.lang.ClassLoader parent
         0: .line 86
            aload 0 /* this */
            invokespecial org.apache.catalina.util.LifecycleMBeanBase.<init>:()V
         1: .line 96
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
         2: .line 102
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
         3: .line 109
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.loader.WebappLoader.delegate:Z
         4: .line 117
            aload 0 /* this */
            ldc Lorg/apache/catalina/loader/ParallelWebappClassLoader;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putfield org.apache.catalina.loader.WebappLoader.loaderClass:Ljava/lang/String;
         5: .line 123
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.loader.WebappLoader.parentClassLoader:Ljava/lang/ClassLoader;
         6: .line 129
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.loader.WebappLoader.reloadable:Z
         7: .line 142
            aload 0 /* this */
            new java.beans.PropertyChangeSupport
            dup
            aload 0 /* this */
            invokespecial java.beans.PropertyChangeSupport.<init>:(Ljava/lang/Object;)V
            putfield org.apache.catalina.loader.WebappLoader.support:Ljava/beans/PropertyChangeSupport;
         8: .line 148
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.loader.WebappLoader.classpath:Ljava/lang/String;
         9: .line 87
            aload 0 /* this */
            aload 1 /* parent */
            putfield org.apache.catalina.loader.WebappLoader.parentClassLoader:Ljava/lang/ClassLoader;
        10: .line 88
            return
        end local 1 // java.lang.ClassLoader parent
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/apache/catalina/loader/WebappLoader;
            0   11     1  parent  Ljava/lang/ClassLoader;
    MethodParameters:
        Name  Flags
      parent  

  public java.lang.ClassLoader getClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 158
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            areturn
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/loader/WebappLoader;

  public org.apache.catalina.Context getContext();
    descriptor: ()Lorg/apache/catalina/Context;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 164
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            areturn
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/loader/WebappLoader;

  public void setContext(org.apache.catalina.Context);
    descriptor: (Lorg/apache/catalina/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.catalina.loader.WebappLoader this
        start local 1 // org.apache.catalina.Context context
         0: .line 171
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            aload 1 /* context */
            if_acmpne 2
         1: .line 172
            return
         2: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.loader.WebappLoader.getState:()Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
            ifeq 6
         3: .line 176
            new java.lang.IllegalStateException
            dup
         4: .line 177
            getstatic org.apache.catalina.loader.WebappLoader.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webappLoader.setContext.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         5: .line 176
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            ifnull 8
         7: .line 182
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            aload 0 /* this */
            invokeinterface org.apache.catalina.Context.removePropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         8: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            astore 2 /* oldContext */
        start local 2 // org.apache.catalina.Context oldContext
         9: .line 187
            aload 0 /* this */
            aload 1 /* context */
            putfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
        10: .line 188
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.support:Ljava/beans/PropertyChangeSupport;
            ldc "context"
            aload 2 /* oldContext */
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 191
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            ifnull 14
        12: .line 192
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getReloadable:()Z
            invokevirtual org.apache.catalina.loader.WebappLoader.setReloadable:(Z)V
        13: .line 193
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            aload 0 /* this */
            invokeinterface org.apache.catalina.Context.addPropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
        14: .line 195
      StackMap locals: org.apache.catalina.Context
      StackMap stack:
            return
        end local 2 // org.apache.catalina.Context oldContext
        end local 1 // org.apache.catalina.Context context
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/apache/catalina/loader/WebappLoader;
            0   15     1     context  Lorg/apache/catalina/Context;
            9   15     2  oldContext  Lorg/apache/catalina/Context;
    MethodParameters:
         Name  Flags
      context  

  public boolean getDelegate();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 204
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.delegate:Z
            ireturn
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/loader/WebappLoader;

  public void setDelegate(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.catalina.loader.WebappLoader this
        start local 1 // boolean delegate
         0: .line 216
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.delegate:Z
            istore 2 /* oldDelegate */
        start local 2 // boolean oldDelegate
         1: .line 217
            aload 0 /* this */
            iload 1 /* delegate */
            putfield org.apache.catalina.loader.WebappLoader.delegate:Z
         2: .line 218
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.support:Ljava/beans/PropertyChangeSupport;
            ldc "delegate"
            iload 2 /* oldDelegate */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         3: .line 219
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.delegate:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         4: .line 218
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 220
            return
        end local 2 // boolean oldDelegate
        end local 1 // boolean delegate
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/apache/catalina/loader/WebappLoader;
            0    6     1     delegate  Z
            1    6     2  oldDelegate  Z
    MethodParameters:
          Name  Flags
      delegate  

  public java.lang.String getLoaderClass();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 227
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.loaderClass:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/loader/WebappLoader;

  public void setLoaderClass(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.loader.WebappLoader this
        start local 1 // java.lang.String loaderClass
         0: .line 237
            aload 0 /* this */
            aload 1 /* loaderClass */
            putfield org.apache.catalina.loader.WebappLoader.loaderClass:Ljava/lang/String;
         1: .line 238
            return
        end local 1 // java.lang.String loaderClass
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/catalina/loader/WebappLoader;
            0    2     1  loaderClass  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      loaderClass  

  public boolean getReloadable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 246
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.reloadable:Z
            ireturn
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/loader/WebappLoader;

  public void setReloadable(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.catalina.loader.WebappLoader this
        start local 1 // boolean reloadable
         0: .line 258
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.reloadable:Z
            istore 2 /* oldReloadable */
        start local 2 // boolean oldReloadable
         1: .line 259
            aload 0 /* this */
            iload 1 /* reloadable */
            putfield org.apache.catalina.loader.WebappLoader.reloadable:Z
         2: .line 260
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.support:Ljava/beans/PropertyChangeSupport;
            ldc "reloadable"
         3: .line 261
            iload 2 /* oldReloadable */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         4: .line 262
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.reloadable:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         5: .line 260
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 263
            return
        end local 2 // boolean oldReloadable
        end local 1 // boolean reloadable
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/apache/catalina/loader/WebappLoader;
            0    7     1     reloadable  Z
            1    7     2  oldReloadable  Z
    MethodParameters:
            Name  Flags
      reloadable  

  public void addPropertyChangeListener(java.beans.PropertyChangeListener);
    descriptor: (Ljava/beans/PropertyChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.loader.WebappLoader this
        start local 1 // java.beans.PropertyChangeListener listener
         0: .line 276
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.support:Ljava/beans/PropertyChangeSupport;
            aload 1 /* listener */
            invokevirtual java.beans.PropertyChangeSupport.addPropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         1: .line 278
            return
        end local 1 // java.beans.PropertyChangeListener listener
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/catalina/loader/WebappLoader;
            0    2     1  listener  Ljava/beans/PropertyChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  public void backgroundProcess();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 288
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.reloadable:Z
            ifeq 17
            aload 0 /* this */
            invokevirtual org.apache.catalina.loader.WebappLoader.modified:()Z
            ifeq 17
         1: .line 290
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
         2: .line 291
            ldc Lorg/apache/catalina/loader/WebappLoader;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         3: .line 290
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         4: .line 292
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            ifnull 13
         5: .line 293
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.reload:()V
         6: .line 295
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 1
         8: .line 296
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            ifnull 12
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLoader:()Lorg/apache/catalina/Loader;
            ifnull 12
         9: .line 297
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
        10: .line 298
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLoader:()Lorg/apache/catalina/Loader;
            invokeinterface org.apache.catalina.Loader.getClassLoader:()Ljava/lang/ClassLoader;
        11: .line 297
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        12: .line 300
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1
            athrow
        13: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            ifnull 17
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLoader:()Lorg/apache/catalina/Loader;
            ifnull 17
        14: .line 297
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
        15: .line 298
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLoader:()Lorg/apache/catalina/Loader;
            invokeinterface org.apache.catalina.Loader.getClassLoader:()Ljava/lang/ClassLoader;
        16: .line 297
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        17: .line 302
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lorg/apache/catalina/loader/WebappLoader;
      Exception table:
        from    to  target  type
           1     7       7  any

  public java.lang.String[] getLoaderRepositories();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 306
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            ifnonnull 2
         1: .line 307
            iconst_0
            anewarray java.lang.String
            areturn
         2: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            invokevirtual org.apache.catalina.loader.WebappClassLoaderBase.getURLs:()[Ljava/net/URL;
            astore 1 /* urls */
        start local 1 // java.net.URL[] urls
         3: .line 310
            aload 1 /* urls */
            arraylength
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         4: .line 311
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 312
      StackMap locals: java.net.URL[] java.lang.String[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 1 /* urls */
            iload 3 /* i */
            aaload
            invokevirtual java.net.URL.toExternalForm:()Ljava/lang/String;
            aastore
         7: .line 311
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 1 /* urls */
            arraylength
            if_icmplt 6
        end local 3 // int i
         9: .line 314
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // java.net.URL[] urls
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/apache/catalina/loader/WebappLoader;
            3   10     1    urls  [Ljava/net/URL;
            4   10     2  result  [Ljava/lang/String;
            5    9     3       i  I

  public java.lang.String getLoaderRepositoriesString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 318
            aload 0 /* this */
            invokevirtual org.apache.catalina.loader.WebappLoader.getLoaderRepositories:()[Ljava/lang/String;
            astore 1 /* repositories */
        start local 1 // java.lang.String[] repositories
         1: .line 319
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         2: .line 320
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 321
      StackMap locals: java.lang.String[] java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* sb */
            aload 1 /* repositories */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 320
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* repositories */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 323
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.lang.String[] repositories
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/apache/catalina/loader/WebappLoader;
            1    8     1  repositories  [Ljava/lang/String;
            2    8     2            sb  Ljava/lang/StringBuilder;
            3    7     3             i  I

  public java.lang.String getClasspath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 334
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classpath:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/loader/WebappLoader;

  public boolean modified();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 344
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            ifnull 1
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            invokevirtual org.apache.catalina.loader.WebappClassLoaderBase.modified:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/loader/WebappLoader;

  public void removePropertyChangeListener(java.beans.PropertyChangeListener);
    descriptor: (Ljava/beans/PropertyChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.loader.WebappLoader this
        start local 1 // java.beans.PropertyChangeListener listener
         0: .line 355
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.support:Ljava/beans/PropertyChangeSupport;
            aload 1 /* listener */
            invokevirtual java.beans.PropertyChangeSupport.removePropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         1: .line 356
            return
        end local 1 // java.beans.PropertyChangeListener listener
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/catalina/loader/WebappLoader;
            0    2     1  listener  Ljava/beans/PropertyChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 364
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokestatic org.apache.catalina.util.ToStringUtil.toString:(Ljava/lang/Object;Lorg/apache/catalina/Container;)Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/loader/WebappLoader;

  protected void startInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 378
            getstatic org.apache.catalina.loader.WebappLoader.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 2
         1: .line 379
            getstatic org.apache.catalina.loader.WebappLoader.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.loader.WebappLoader.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webappLoader.starting"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getResources:()Lorg/apache/catalina/WebResourceRoot;
            ifnonnull 6
         3: .line 382
            getstatic org.apache.catalina.loader.WebappLoader.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.loader.WebappLoader.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webappLoader.noResources"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
         4: .line 383
            aload 0 /* this */
            getstatic org.apache.catalina.LifecycleState.STARTING:Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.loader.WebappLoader.setState:(Lorg/apache/catalina/LifecycleState;)V
         5: .line 384
            return
         6: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.loader.WebappLoader.createClassLoader:()Lorg/apache/catalina/loader/WebappClassLoaderBase;
            putfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
         7: .line 391
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getResources:()Lorg/apache/catalina/WebResourceRoot;
            invokevirtual org.apache.catalina.loader.WebappClassLoaderBase.setResources:(Lorg/apache/catalina/WebResourceRoot;)V
         8: .line 392
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.delegate:Z
            invokevirtual org.apache.catalina.loader.WebappClassLoaderBase.setDelegate:(Z)V
         9: .line 395
            aload 0 /* this */
            invokevirtual org.apache.catalina.loader.WebappLoader.setClassPath:()V
        10: .line 397
            aload 0 /* this */
            invokevirtual org.apache.catalina.loader.WebappLoader.setPermissions:()V
        11: .line 399
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            invokevirtual org.apache.catalina.loader.WebappClassLoaderBase.start:()V
        12: .line 401
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getName:()Ljava/lang/String;
            astore 1 /* contextName */
        start local 1 // java.lang.String contextName
        13: .line 402
            aload 1 /* contextName */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 15
        14: .line 403
            new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* contextName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* contextName */
        15: .line 405
      StackMap locals: java.lang.String
      StackMap stack:
            new javax.management.ObjectName
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getDomain:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 406
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",host="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 407
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getParent:()Lorg/apache/catalina/Container;
            invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",context="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* contextName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 405
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* cloname */
        start local 2 // javax.management.ObjectName cloname
        19: .line 408
            aconst_null
            aconst_null
            invokestatic org.apache.tomcat.util.modeler.Registry.getRegistry:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/tomcat/util/modeler/Registry;
        20: .line 409
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            aload 2 /* cloname */
            aconst_null
            invokevirtual org.apache.tomcat.util.modeler.Registry.registerComponent:(Ljava/lang/Object;Ljavax/management/ObjectName;Ljava/lang/String;)V
        end local 2 // javax.management.ObjectName cloname
        end local 1 // java.lang.String contextName
        21: .line 411
            goto 26
      StackMap locals: org.apache.catalina.loader.WebappLoader
      StackMap stack: java.lang.Throwable
        22: astore 1 /* t */
        start local 1 // java.lang.Throwable t
        23: .line 412
            aload 1 /* t */
            invokestatic org.apache.tomcat.util.ExceptionUtils.unwrapInvocationTargetException:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 1 /* t */
        24: .line 413
            aload 1 /* t */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
        25: .line 414
            new org.apache.catalina.LifecycleException
            dup
            getstatic org.apache.catalina.loader.WebappLoader.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webappLoader.startError"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* t */
            invokespecial org.apache.catalina.LifecycleException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Throwable t
        26: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.apache.catalina.LifecycleState.STARTING:Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.loader.WebappLoader.setState:(Lorg/apache/catalina/LifecycleState;)V
        27: .line 418
            return
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   28     0         this  Lorg/apache/catalina/loader/WebappLoader;
           13   21     1  contextName  Ljava/lang/String;
           19   21     2      cloname  Ljavax/management/ObjectName;
           23   26     1            t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6    21      22  Class java.lang.Throwable
    Exceptions:
      throws org.apache.catalina.LifecycleException

  protected void stopInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 431
            getstatic org.apache.catalina.loader.WebappLoader.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 2
         1: .line 432
            getstatic org.apache.catalina.loader.WebappLoader.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.loader.WebappLoader.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webappLoader.stopping"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 434
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.apache.catalina.LifecycleState.STOPPING:Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.loader.WebappLoader.setState:(Lorg/apache/catalina/LifecycleState;)V
         3: .line 437
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getServletContext:()Ljavax/servlet/ServletContext;
            astore 1 /* servletContext */
        start local 1 // javax.servlet.ServletContext servletContext
         4: .line 438
            aload 1 /* servletContext */
            ldc "org.apache.catalina.jsp_classpath"
            invokeinterface javax.servlet.ServletContext.removeAttribute:(Ljava/lang/String;)V
         5: .line 441
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            ifnull 23
         6: .line 443
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            invokevirtual org.apache.catalina.loader.WebappClassLoaderBase.stop:()V
         7: .line 444
            goto 11
      StackMap locals: org.apache.catalina.loader.WebappLoader javax.servlet.ServletContext
      StackMap stack: java.lang.Throwable
         8: astore 2
         9: .line 445
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            invokevirtual org.apache.catalina.loader.WebappClassLoaderBase.destroy:()V
        10: .line 446
            aload 2
            athrow
        11: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            invokevirtual org.apache.catalina.loader.WebappClassLoaderBase.destroy:()V
        12: .line 450
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getName:()Ljava/lang/String;
            astore 2 /* contextName */
        start local 2 // java.lang.String contextName
        13: .line 451
            aload 2 /* contextName */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 15
        14: .line 452
            new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* contextName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* contextName */
        15: .line 454
      StackMap locals: java.lang.String
      StackMap stack:
            new javax.management.ObjectName
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getDomain:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 455
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",host="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 456
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getParent:()Lorg/apache/catalina/Container;
            invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",context="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* contextName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 454
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 3 /* cloname */
        start local 3 // javax.management.ObjectName cloname
        19: .line 457
            aconst_null
            aconst_null
            invokestatic org.apache.tomcat.util.modeler.Registry.getRegistry:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/tomcat/util/modeler/Registry;
            aload 3 /* cloname */
            invokevirtual org.apache.tomcat.util.modeler.Registry.unregisterComponent:(Ljavax/management/ObjectName;)V
        end local 3 // javax.management.ObjectName cloname
        end local 2 // java.lang.String contextName
        20: .line 458
            goto 23
      StackMap locals: org.apache.catalina.loader.WebappLoader javax.servlet.ServletContext
      StackMap stack: java.lang.Exception
        21: astore 2 /* e */
        start local 2 // java.lang.Exception e
        22: .line 459
            getstatic org.apache.catalina.loader.WebappLoader.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.loader.WebappLoader.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webappLoader.stopError"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* e */
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 2 // java.lang.Exception e
        23: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
        24: .line 465
            return
        end local 1 // javax.servlet.ServletContext servletContext
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   25     0            this  Lorg/apache/catalina/loader/WebappLoader;
            4   25     1  servletContext  Ljavax/servlet/ServletContext;
           13   20     2     contextName  Ljava/lang/String;
           19   20     3         cloname  Ljavax/management/ObjectName;
           22   23     2               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           6     8       8  any
          12    20      21  Class java.lang.Exception
    Exceptions:
      throws org.apache.catalina.LifecycleException

  public void propertyChange(java.beans.PropertyChangeEvent);
    descriptor: (Ljava/beans/PropertyChangeEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.apache.catalina.loader.WebappLoader this
        start local 1 // java.beans.PropertyChangeEvent event
         0: .line 480
            aload 1 /* event */
            invokevirtual java.beans.PropertyChangeEvent.getSource:()Ljava/lang/Object;
            instanceof org.apache.catalina.Context
            ifne 2
         1: .line 481
            return
         2: .line 484
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual java.beans.PropertyChangeEvent.getPropertyName:()Ljava/lang/String;
            ldc "reloadable"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         3: .line 486
            aload 0 /* this */
         4: .line 487
            aload 1 /* event */
            invokevirtual java.beans.PropertyChangeEvent.getNewValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
         5: .line 486
            invokevirtual org.apache.catalina.loader.WebappLoader.setReloadable:(Z)V
         6: .line 488
            goto 11
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
         7: pop
         8: .line 489
            getstatic org.apache.catalina.loader.WebappLoader.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.loader.WebappLoader.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webappLoader.reloadable"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 490
            aload 1 /* event */
            invokevirtual java.beans.PropertyChangeEvent.getNewValue:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
        10: .line 489
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
        11: .line 493
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.beans.PropertyChangeEvent event
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/apache/catalina/loader/WebappLoader;
            0   12     1  event  Ljava/beans/PropertyChangeEvent;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.NumberFormatException
    MethodParameters:
       Name  Flags
      event  

  private org.apache.catalina.loader.WebappClassLoaderBase createClassLoader();
    descriptor: ()Lorg/apache/catalina/loader/WebappClassLoaderBase;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 504
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.loaderClass:Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* clazz */
        start local 1 // java.lang.Class clazz
         1: .line 505
            aconst_null
            astore 2 /* classLoader */
        start local 2 // org.apache.catalina.loader.WebappClassLoaderBase classLoader
         2: .line 507
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.parentClassLoader:Ljava/lang/ClassLoader;
            ifnonnull 4
         3: .line 508
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getParentClassLoader:()Ljava/lang/ClassLoader;
            putfield org.apache.catalina.loader.WebappLoader.parentClassLoader:Ljava/lang/ClassLoader;
         4: .line 510
      StackMap locals: java.lang.Class org.apache.catalina.loader.WebappClassLoaderBase
      StackMap stack:
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/ClassLoader;
            aastore
            astore 3 /* argTypes */
        start local 3 // java.lang.Class[] argTypes
         5: .line 511
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.parentClassLoader:Ljava/lang/ClassLoader;
            aastore
            astore 4 /* args */
        start local 4 // java.lang.Object[] args
         6: .line 512
            aload 1 /* clazz */
            aload 3 /* argTypes */
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* constr */
        start local 5 // java.lang.reflect.Constructor constr
         7: .line 513
            aload 5 /* constr */
            aload 4 /* args */
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.loader.WebappClassLoaderBase
            astore 2 /* classLoader */
         8: .line 515
            aload 2 /* classLoader */
            areturn
        end local 5 // java.lang.reflect.Constructor constr
        end local 4 // java.lang.Object[] args
        end local 3 // java.lang.Class[] argTypes
        end local 2 // org.apache.catalina.loader.WebappClassLoaderBase classLoader
        end local 1 // java.lang.Class clazz
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/apache/catalina/loader/WebappLoader;
            1    9     1        clazz  Ljava/lang/Class<*>;
            2    9     2  classLoader  Lorg/apache/catalina/loader/WebappClassLoaderBase;
            5    9     3     argTypes  [Ljava/lang/Class;
            6    9     4         args  [Ljava/lang/Object;
            7    9     5       constr  Ljava/lang/reflect/Constructor<*>;
    Exceptions:
      throws java.lang.Exception

  private void setPermissions();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 524
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            ifne 2
         1: .line 525
            return
         2: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            ifnonnull 4
         3: .line 527
            return
         4: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getServletContext:()Ljavax/servlet/ServletContext;
            astore 1 /* servletContext */
        start local 1 // javax.servlet.ServletContext servletContext
         5: .line 534
            aload 1 /* servletContext */
            ldc "javax.servlet.context.tempdir"
            invokeinterface javax.servlet.ServletContext.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.io.File
         6: .line 533
            astore 2 /* workDir */
        start local 2 // java.io.File workDir
         7: .line 535
            aload 2 /* workDir */
            ifnull 19
         8: .line 537
            aload 2 /* workDir */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 3 /* workDirPath */
        start local 3 // java.lang.String workDirPath
         9: .line 538
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
        10: .line 539
            new java.io.FilePermission
            dup
            aload 3 /* workDirPath */
            ldc "read,write"
            invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 538
            invokevirtual org.apache.catalina.loader.WebappClassLoaderBase.addPermission:(Ljava/security/Permission;)V
        12: .line 540
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
        13: .line 541
            new java.io.FilePermission
            dup
            new java.lang.StringBuilder
            dup
            aload 3 /* workDirPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator: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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 542
            ldc "read,write,delete"
        15: .line 541
            invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        16: .line 540
            invokevirtual org.apache.catalina.loader.WebappClassLoaderBase.addPermission:(Ljava/security/Permission;)V
        end local 3 // java.lang.String workDirPath
        17: .line 543
            goto 19
      StackMap locals: org.apache.catalina.loader.WebappLoader javax.servlet.ServletContext java.io.File
      StackMap stack: java.io.IOException
        18: pop
        19: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getResources:()Lorg/apache/catalina/WebResourceRoot;
            invokeinterface org.apache.catalina.WebResourceRoot.getBaseUrls:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 22
      StackMap locals: org.apache.catalina.loader.WebappLoader javax.servlet.ServletContext java.io.File top java.util.Iterator
      StackMap stack:
        20: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 3 /* url */
        start local 3 // java.net.URL url
        21: .line 549
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classLoader:Lorg/apache/catalina/loader/WebappClassLoaderBase;
            aload 3 /* url */
            invokevirtual org.apache.catalina.loader.WebappClassLoaderBase.addPermission:(Ljava/net/URL;)V
        end local 3 // java.net.URL url
        22: .line 548
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        23: .line 551
            return
        end local 2 // java.io.File workDir
        end local 1 // javax.servlet.ServletContext servletContext
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            this  Lorg/apache/catalina/loader/WebappLoader;
            5   24     1  servletContext  Ljavax/servlet/ServletContext;
            7   24     2         workDir  Ljava/io/File;
            9   17     3     workDirPath  Ljava/lang/String;
           21   22     3             url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           8    17      18  Class java.io.IOException

  private void setClassPath();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 561
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            ifnonnull 2
         1: .line 562
            return
         2: .line 563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getServletContext:()Ljavax/servlet/ServletContext;
            astore 1 /* servletContext */
        start local 1 // javax.servlet.ServletContext servletContext
         3: .line 564
            aload 1 /* servletContext */
            ifnonnull 5
         4: .line 565
            return
         5: .line 567
      StackMap locals: javax.servlet.ServletContext
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* classpath */
        start local 2 // java.lang.StringBuilder classpath
         6: .line 570
            aload 0 /* this */
            invokevirtual org.apache.catalina.loader.WebappLoader.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* loader */
        start local 3 // java.lang.ClassLoader loader
         7: .line 572
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.delegate:Z
            ifeq 13
            aload 3 /* loader */
            ifnull 13
         8: .line 574
            aload 3 /* loader */
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
            astore 3 /* loader */
         9: .line 577
            goto 13
        10: .line 578
      StackMap locals: java.lang.StringBuilder java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            aload 2 /* classpath */
            aload 3 /* loader */
            invokevirtual org.apache.catalina.loader.WebappLoader.buildClassPath:(Ljava/lang/StringBuilder;Ljava/lang/ClassLoader;)Z
            ifne 12
        11: .line 579
            goto 14
        12: .line 581
      StackMap locals:
      StackMap stack:
            aload 3 /* loader */
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
            astore 3 /* loader */
        13: .line 577
      StackMap locals:
      StackMap stack:
            aload 3 /* loader */
            ifnonnull 10
        14: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.delegate:Z
            ifeq 18
        15: .line 586
            aload 0 /* this */
            invokevirtual org.apache.catalina.loader.WebappLoader.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* loader */
        16: .line 587
            aload 3 /* loader */
            ifnull 18
        17: .line 588
            aload 0 /* this */
            aload 2 /* classpath */
            aload 3 /* loader */
            invokevirtual org.apache.catalina.loader.WebappLoader.buildClassPath:(Ljava/lang/StringBuilder;Ljava/lang/ClassLoader;)Z
            pop
        18: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* classpath */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.apache.catalina.loader.WebappLoader.classpath:Ljava/lang/String;
        19: .line 595
            aload 1 /* servletContext */
            ldc "org.apache.catalina.jsp_classpath"
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.classpath:Ljava/lang/String;
            invokeinterface javax.servlet.ServletContext.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        20: .line 596
            return
        end local 3 // java.lang.ClassLoader loader
        end local 2 // java.lang.StringBuilder classpath
        end local 1 // javax.servlet.ServletContext servletContext
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lorg/apache/catalina/loader/WebappLoader;
            3   21     1  servletContext  Ljavax/servlet/ServletContext;
            6   21     2       classpath  Ljava/lang/StringBuilder;
            7   21     3          loader  Ljava/lang/ClassLoader;

  private boolean buildClassPath(java.lang.StringBuilder, java.lang.ClassLoader);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/ClassLoader;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // org.apache.catalina.loader.WebappLoader this
        start local 1 // java.lang.StringBuilder classpath
        start local 2 // java.lang.ClassLoader loader
         0: .line 600
            aload 2 /* loader */
            instanceof java.net.URLClassLoader
            ifeq 17
         1: .line 601
            aload 2 /* loader */
            checkcast java.net.URLClassLoader
            invokevirtual java.net.URLClassLoader.getURLs:()[Ljava/net/URL;
            astore 3 /* repositories */
        start local 3 // java.net.URL[] repositories
         2: .line 602
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 15
         4: .line 603
      StackMap locals: java.net.URL[] int
      StackMap stack:
            aload 3 /* repositories */
            iload 4 /* i */
            aaload
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            astore 5 /* repository */
        start local 5 // java.lang.String repository
         5: .line 604
            aload 5 /* repository */
            ldc "file://"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 605
            aload 5 /* repository */
            bipush 7
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.apache.tomcat.util.buf.UDecoder.URLDecode:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* repository */
            goto 9
         7: .line 606
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* repository */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
         8: .line 607
            aload 5 /* repository */
            iconst_5
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.apache.tomcat.util.buf.UDecoder.URLDecode:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* repository */
         9: .line 610
      StackMap locals:
      StackMap stack:
            aload 5 /* repository */
            ifnonnull 11
        10: .line 611
            goto 14
        11: .line 612
      StackMap locals:
      StackMap stack:
            aload 1 /* classpath */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 13
        12: .line 613
            aload 1 /* classpath */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 614
      StackMap locals:
      StackMap stack:
            aload 1 /* classpath */
            aload 5 /* repository */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.lang.String repository
        14: .line 602
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            aload 3 /* repositories */
            arraylength
            if_icmplt 4
        end local 4 // int i
        end local 3 // java.net.URL[] repositories
        16: .line 616
            goto 27
      StackMap locals:
      StackMap stack:
        17: aload 2 /* loader */
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            if_acmpne 24
        18: .line 619
            ldc "java.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* cp */
        start local 3 // java.lang.String cp
        19: .line 620
            aload 3 /* cp */
            ifnull 23
            aload 3 /* cp */
            invokevirtual java.lang.String.length:()I
            ifle 23
        20: .line 621
            aload 1 /* classpath */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 22
        21: .line 622
            aload 1 /* classpath */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 624
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* classpath */
            aload 3 /* cp */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 626
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.String cp
        24: .line 629
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.tomcat.util.compat.JreCompat.isGraalAvailable:()Z
            ifne 26
        25: .line 630
            getstatic org.apache.catalina.loader.WebappLoader.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.loader.WebappLoader.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webappLoader.unknownClassLoader"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* loader */
            aastore
            dup
            iconst_1
            aload 2 /* loader */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
        26: .line 632
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        27: .line 634
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.lang.ClassLoader loader
        end local 1 // java.lang.StringBuilder classpath
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0          this  Lorg/apache/catalina/loader/WebappLoader;
            0   28     1     classpath  Ljava/lang/StringBuilder;
            0   28     2        loader  Ljava/lang/ClassLoader;
            2   16     3  repositories  [Ljava/net/URL;
            3   16     4             i  I
            5   14     5    repository  Ljava/lang/String;
           19   24     3            cp  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      classpath  
      loader     

  protected java.lang.String getDomainInternal();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 639
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getDomain:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/loader/WebappLoader;

  protected java.lang.String getObjectNameKeyProperties();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.catalina.loader.WebappLoader this
         0: .line 646
            new java.lang.StringBuilder
            dup
            ldc "type=Loader"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* name */
        start local 1 // java.lang.StringBuilder name
         1: .line 648
            aload 1 /* name */
            ldc ",host="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 649
            aload 1 /* name */
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getParent:()Lorg/apache/catalina/Container;
            invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 651
            aload 1 /* name */
            ldc ",context="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 653
            aload 0 /* this */
            getfield org.apache.catalina.loader.WebappLoader.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getName:()Ljava/lang/String;
            astore 2 /* contextName */
        start local 2 // java.lang.String contextName
         5: .line 654
            aload 2 /* contextName */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 7
         6: .line 655
            aload 1 /* name */
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 657
      StackMap locals: java.lang.StringBuilder java.lang.String
      StackMap stack:
            aload 1 /* name */
            aload 2 /* contextName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 659
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String contextName
        end local 1 // java.lang.StringBuilder name
        end local 0 // org.apache.catalina.loader.WebappLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/apache/catalina/loader/WebappLoader;
            1    9     1         name  Ljava/lang/StringBuilder;
            5    9     2  contextName  Ljava/lang/String;
}
SourceFile: "WebappLoader.java"