public class org.apache.catalina.mbeans.MBeanFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.mbeans.MBeanFactory
  super_class: java.lang.Object
{
  private static final org.apache.juli.logging.Log log;
    descriptor: Lorg/apache/juli/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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

  private static final javax.management.MBeanServer mserver;
    descriptor: Ljavax/management/MBeanServer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.lang.Object container;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 57
            ldc Lorg/apache/catalina/mbeans/MBeanFactory;
            invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
            putstatic org.apache.catalina.mbeans.MBeanFactory.log:Lorg/apache/juli/logging/Log;
         1: .line 59
            ldc Lorg/apache/catalina/mbeans/MBeanFactory;
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
            putstatic org.apache.catalina.mbeans.MBeanFactory.sm:Lorg/apache/tomcat/util/res/StringManager;
         2: .line 64
            invokestatic org.apache.catalina.mbeans.MBeanUtils.createServer:()Ljavax/management/MBeanServer;
            putstatic org.apache.catalina.mbeans.MBeanFactory.mserver:Ljavax/management/MBeanServer;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/mbeans/MBeanFactory;

  public void setContainer(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.Object container
         0: .line 82
            aload 0 /* this */
            aload 1 /* container */
            putfield org.apache.catalina.mbeans.MBeanFactory.container:Ljava/lang/Object;
         1: .line 83
            return
        end local 1 // java.lang.Object container
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    2     1  container  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      container  

  private final java.lang.String getPathStr(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String t
         0: .line 94
            aload 1 /* t */
            ifnull 1
            aload 1 /* t */
            ldc "/"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 95
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
         2: .line 97
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        end local 1 // java.lang.String t
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    3     1     t  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      t     

  private org.apache.catalina.Container getParentContainerFromParent(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)Lorg/apache/catalina/Container;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=13, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // javax.management.ObjectName pname
         0: .line 107
            aload 1 /* pname */
            ldc "type"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* type */
        start local 2 // java.lang.String type
         1: .line 108
            aload 1 /* pname */
            ldc "j2eeType"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* j2eeType */
        start local 3 // java.lang.String j2eeType
         2: .line 109
            aload 0 /* this */
            aload 1 /* pname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getService:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Service;
            astore 4 /* service */
        start local 4 // org.apache.catalina.Service service
         3: .line 110
            aload 4 /* service */
            invokeinterface org.apache.catalina.Service.getContainer:()Lorg/apache/catalina/Engine;
            checkcast org.apache.catalina.core.StandardEngine
            astore 5 /* engine */
        start local 5 // org.apache.catalina.core.StandardEngine engine
         4: .line 111
            aload 3 /* j2eeType */
            ifnull 14
            aload 3 /* j2eeType */
            ldc "WebModule"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
         5: .line 112
            aload 1 /* pname */
            ldc "name"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         6: .line 113
            aload 6 /* name */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* name */
         7: .line 114
            aload 6 /* name */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            istore 7 /* i */
        start local 7 // int i
         8: .line 115
            aload 6 /* name */
            iconst_0
            iload 7 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* hostName */
        start local 8 // java.lang.String hostName
         9: .line 116
            aload 6 /* name */
            iload 7 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* path */
        start local 9 // java.lang.String path
        10: .line 117
            aload 5 /* engine */
            aload 8 /* hostName */
            invokevirtual org.apache.catalina.core.StandardEngine.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            astore 10 /* host */
        start local 10 // org.apache.catalina.Container host
        11: .line 118
            aload 0 /* this */
            aload 9 /* path */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getPathStr:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* pathStr */
        start local 11 // java.lang.String pathStr
        12: .line 119
            aload 10 /* host */
            aload 11 /* pathStr */
            invokeinterface org.apache.catalina.Container.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            astore 12 /* context */
        start local 12 // org.apache.catalina.Container context
        13: .line 120
            aload 12 /* context */
            areturn
        end local 12 // org.apache.catalina.Container context
        end local 11 // java.lang.String pathStr
        end local 10 // org.apache.catalina.Container host
        end local 9 // java.lang.String path
        end local 8 // java.lang.String hostName
        end local 7 // int i
        end local 6 // java.lang.String name
        14: .line 121
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory javax.management.ObjectName java.lang.String java.lang.String org.apache.catalina.Service org.apache.catalina.core.StandardEngine
      StackMap stack:
            aload 2 /* type */
            ifnull 21
        15: .line 122
            aload 2 /* type */
            ldc "Engine"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 123
            aload 5 /* engine */
            areturn
        17: .line 124
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            ldc "Host"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        18: .line 125
            aload 1 /* pname */
            ldc "host"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* hostName */
        start local 6 // java.lang.String hostName
        19: .line 126
            aload 5 /* engine */
            aload 6 /* hostName */
            invokevirtual org.apache.catalina.core.StandardEngine.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            astore 7 /* host */
        start local 7 // org.apache.catalina.Container host
        20: .line 127
            aload 7 /* host */
            areturn
        end local 7 // org.apache.catalina.Container host
        end local 6 // java.lang.String hostName
        21: .line 130
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // org.apache.catalina.core.StandardEngine engine
        end local 4 // org.apache.catalina.Service service
        end local 3 // java.lang.String j2eeType
        end local 2 // java.lang.String type
        end local 1 // javax.management.ObjectName pname
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0   22     1     pname  Ljavax/management/ObjectName;
            1   22     2      type  Ljava/lang/String;
            2   22     3  j2eeType  Ljava/lang/String;
            3   22     4   service  Lorg/apache/catalina/Service;
            4   22     5    engine  Lorg/apache/catalina/core/StandardEngine;
            6   14     6      name  Ljava/lang/String;
            8   14     7         i  I
            9   14     8  hostName  Ljava/lang/String;
           10   14     9      path  Ljava/lang/String;
           11   14    10      host  Lorg/apache/catalina/Container;
           12   14    11   pathStr  Ljava/lang/String;
           13   14    12   context  Lorg/apache/catalina/Container;
           19   21     6  hostName  Ljava/lang/String;
           20   21     7      host  Lorg/apache/catalina/Container;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      pname  

  private org.apache.catalina.Container getParentContainerFromChild(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)Lorg/apache/catalina/Container;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // javax.management.ObjectName oname
         0: .line 142
            aload 1 /* oname */
            ldc "host"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* hostName */
        start local 2 // java.lang.String hostName
         1: .line 143
            aload 1 /* oname */
            ldc "path"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        start local 3 // java.lang.String path
         2: .line 144
            aload 0 /* this */
            aload 1 /* oname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getService:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Service;
            astore 4 /* service */
        start local 4 // org.apache.catalina.Service service
         3: .line 145
            aload 4 /* service */
            invokeinterface org.apache.catalina.Service.getContainer:()Lorg/apache/catalina/Engine;
            astore 5 /* engine */
        start local 5 // org.apache.catalina.Container engine
         4: .line 146
            aload 2 /* hostName */
            ifnonnull 6
         5: .line 148
            aload 5 /* engine */
            areturn
         6: .line 149
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory javax.management.ObjectName java.lang.String java.lang.String org.apache.catalina.Service org.apache.catalina.Container
      StackMap stack:
            aload 3 /* path */
            ifnonnull 9
         7: .line 151
            aload 5 /* engine */
            aload 2 /* hostName */
            invokeinterface org.apache.catalina.Container.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            astore 6 /* host */
        start local 6 // org.apache.catalina.Container host
         8: .line 152
            aload 6 /* host */
            areturn
        end local 6 // org.apache.catalina.Container host
         9: .line 155
      StackMap locals:
      StackMap stack:
            aload 5 /* engine */
            aload 2 /* hostName */
            invokeinterface org.apache.catalina.Container.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            astore 6 /* host */
        start local 6 // org.apache.catalina.Container host
        10: .line 156
            aload 0 /* this */
            aload 3 /* path */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getPathStr:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        11: .line 157
            aload 6 /* host */
            aload 3 /* path */
            invokeinterface org.apache.catalina.Container.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            astore 7 /* context */
        start local 7 // org.apache.catalina.Container context
        12: .line 158
            aload 7 /* context */
            areturn
        end local 7 // org.apache.catalina.Container context
        end local 6 // org.apache.catalina.Container host
        end local 5 // org.apache.catalina.Container engine
        end local 4 // org.apache.catalina.Service service
        end local 3 // java.lang.String path
        end local 2 // java.lang.String hostName
        end local 1 // javax.management.ObjectName oname
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0   13     1     oname  Ljavax/management/ObjectName;
            1   13     2  hostName  Ljava/lang/String;
            2   13     3      path  Ljava/lang/String;
            3   13     4   service  Lorg/apache/catalina/Service;
            4   13     5    engine  Lorg/apache/catalina/Container;
            8    9     6      host  Lorg/apache/catalina/Container;
           10   13     6      host  Lorg/apache/catalina/Container;
           12   13     7   context  Lorg/apache/catalina/Container;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      oname  

  private org.apache.catalina.Service getService(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)Lorg/apache/catalina/Service;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // javax.management.ObjectName oname
         0: .line 165
            aload 0 /* this */
            getfield org.apache.catalina.mbeans.MBeanFactory.container:Ljava/lang/Object;
            instanceof org.apache.catalina.Service
            ifeq 2
         1: .line 167
            aload 0 /* this */
            getfield org.apache.catalina.mbeans.MBeanFactory.container:Ljava/lang/Object;
            checkcast org.apache.catalina.Service
            areturn
         2: .line 170
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* service */
        start local 2 // org.apache.catalina.core.StandardService service
         3: .line 171
            aload 1 /* oname */
            invokevirtual javax.management.ObjectName.getDomain:()Ljava/lang/String;
            astore 3 /* domain */
        start local 3 // java.lang.String domain
         4: .line 172
            aload 0 /* this */
            getfield org.apache.catalina.mbeans.MBeanFactory.container:Ljava/lang/Object;
            instanceof org.apache.catalina.Server
            ifeq 13
         5: .line 173
            aload 0 /* this */
            getfield org.apache.catalina.mbeans.MBeanFactory.container:Ljava/lang/Object;
            checkcast org.apache.catalina.Server
            invokeinterface org.apache.catalina.Server.findServices:()[Lorg/apache/catalina/Service;
            astore 4 /* services */
        start local 4 // org.apache.catalina.Service[] services
         6: .line 174
            aload 4 /* services */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 12
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory javax.management.ObjectName org.apache.catalina.core.StandardService java.lang.String org.apache.catalina.Service[] top int int org.apache.catalina.Service[]
      StackMap stack:
         7: aload 8
            iload 6
            aaload
            astore 5 /* value */
        start local 5 // org.apache.catalina.Service value
         8: .line 175
            aload 5 /* value */
            checkcast org.apache.catalina.core.StandardService
            astore 2 /* service */
         9: .line 176
            aload 3 /* domain */
            aload 2 /* service */
            invokevirtual org.apache.catalina.core.StandardService.getObjectName:()Ljavax/management/ObjectName;
            invokevirtual javax.management.ObjectName.getDomain:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 177
            goto 13
        end local 5 // org.apache.catalina.Service value
        11: .line 174
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        12: iload 6
            iload 7
            if_icmplt 7
        end local 4 // org.apache.catalina.Service[] services
        13: .line 181
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory javax.management.ObjectName org.apache.catalina.core.StandardService java.lang.String
      StackMap stack:
            aload 2 /* service */
            ifnull 15
        14: .line 182
            aload 2 /* service */
            invokevirtual org.apache.catalina.core.StandardService.getObjectName:()Ljavax/management/ObjectName;
            invokevirtual javax.management.ObjectName.getDomain:()Ljava/lang/String;
            aload 3 /* domain */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
        15: .line 183
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic org.apache.catalina.mbeans.MBeanFactory.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "mBeanFactory.noService"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* domain */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 185
      StackMap locals:
      StackMap stack:
            aload 2 /* service */
            areturn
        end local 3 // java.lang.String domain
        end local 2 // org.apache.catalina.core.StandardService service
        end local 1 // javax.management.ObjectName oname
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0   17     1     oname  Ljavax/management/ObjectName;
            3   17     2   service  Lorg/apache/catalina/core/StandardService;
            4   17     3    domain  Ljava/lang/String;
            6   13     4  services  [Lorg/apache/catalina/Service;
            8   11     5     value  Lorg/apache/catalina/Service;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      oname  

  public java.lang.String createAjpConnector(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
        start local 2 // java.lang.String address
        start local 3 // int port
         0: .line 203
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* address */
            iload 3 /* port */
            iconst_1
            iconst_0
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.createConnector:(Ljava/lang/String;Ljava/lang/String;IZZ)Ljava/lang/String;
            areturn
        end local 3 // int port
        end local 2 // java.lang.String address
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    1     1   parent  Ljava/lang/String;
            0    1     2  address  Ljava/lang/String;
            0    1     3     port  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      parent   
      address  
      port     

  public java.lang.String createDataSourceRealm(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=8
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
        start local 2 // java.lang.String dataSourceName
        start local 3 // java.lang.String roleNameCol
        start local 4 // java.lang.String userCredCol
        start local 5 // java.lang.String userNameCol
        start local 6 // java.lang.String userRoleTable
        start local 7 // java.lang.String userTable
         0: .line 225
            new org.apache.catalina.realm.DataSourceRealm
            dup
            invokespecial org.apache.catalina.realm.DataSourceRealm.<init>:()V
            astore 8 /* realm */
        start local 8 // org.apache.catalina.realm.DataSourceRealm realm
         1: .line 226
            aload 8 /* realm */
            aload 2 /* dataSourceName */
            invokevirtual org.apache.catalina.realm.DataSourceRealm.setDataSourceName:(Ljava/lang/String;)V
         2: .line 227
            aload 8 /* realm */
            aload 3 /* roleNameCol */
            invokevirtual org.apache.catalina.realm.DataSourceRealm.setRoleNameCol:(Ljava/lang/String;)V
         3: .line 228
            aload 8 /* realm */
            aload 4 /* userCredCol */
            invokevirtual org.apache.catalina.realm.DataSourceRealm.setUserCredCol:(Ljava/lang/String;)V
         4: .line 229
            aload 8 /* realm */
            aload 5 /* userNameCol */
            invokevirtual org.apache.catalina.realm.DataSourceRealm.setUserNameCol:(Ljava/lang/String;)V
         5: .line 230
            aload 8 /* realm */
            aload 6 /* userRoleTable */
            invokevirtual org.apache.catalina.realm.DataSourceRealm.setUserRoleTable:(Ljava/lang/String;)V
         6: .line 231
            aload 8 /* realm */
            aload 7 /* userTable */
            invokevirtual org.apache.catalina.realm.DataSourceRealm.setUserTable:(Ljava/lang/String;)V
         7: .line 234
            aload 0 /* this */
            aload 1 /* parent */
            aload 8 /* realm */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.addRealmToParent:(Ljava/lang/String;Lorg/apache/catalina/Realm;)Ljava/lang/String;
            areturn
        end local 8 // org.apache.catalina.realm.DataSourceRealm realm
        end local 7 // java.lang.String userTable
        end local 6 // java.lang.String userRoleTable
        end local 5 // java.lang.String userNameCol
        end local 4 // java.lang.String userCredCol
        end local 3 // java.lang.String roleNameCol
        end local 2 // java.lang.String dataSourceName
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    8     1          parent  Ljava/lang/String;
            0    8     2  dataSourceName  Ljava/lang/String;
            0    8     3     roleNameCol  Ljava/lang/String;
            0    8     4     userCredCol  Ljava/lang/String;
            0    8     5     userNameCol  Ljava/lang/String;
            0    8     6   userRoleTable  Ljava/lang/String;
            0    8     7       userTable  Ljava/lang/String;
            1    8     8           realm  Lorg/apache/catalina/realm/DataSourceRealm;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                Name  Flags
      parent          
      dataSourceName  
      roleNameCol     
      userCredCol     
      userNameCol     
      userRoleTable   
      userTable       

  private java.lang.String addRealmToParent(java.lang.String, org.apache.catalina.Realm);
    descriptor: (Ljava/lang/String;Lorg/apache/catalina/Realm;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
        start local 2 // org.apache.catalina.Realm realm
         0: .line 239
            new javax.management.ObjectName
            dup
            aload 1 /* parent */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 3 /* pname */
        start local 3 // javax.management.ObjectName pname
         1: .line 240
            aload 0 /* this */
            aload 3 /* pname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getParentContainerFromParent:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Container;
            astore 4 /* container */
        start local 4 // org.apache.catalina.Container container
         2: .line 242
            aload 4 /* container */
            aload 2 /* realm */
            invokeinterface org.apache.catalina.Container.setRealm:(Lorg/apache/catalina/Realm;)V
         3: .line 244
            aconst_null
            astore 5 /* oname */
        start local 5 // javax.management.ObjectName oname
         4: .line 245
            aload 2 /* realm */
            instanceof org.apache.catalina.JmxEnabled
            ifeq 6
         5: .line 246
            aload 2 /* realm */
            checkcast org.apache.catalina.JmxEnabled
            invokeinterface org.apache.catalina.JmxEnabled.getObjectName:()Ljavax/management/ObjectName;
            astore 5 /* oname */
         6: .line 248
      StackMap locals: javax.management.ObjectName org.apache.catalina.Container javax.management.ObjectName
      StackMap stack:
            aload 5 /* oname */
            ifnull 8
         7: .line 249
            aload 5 /* oname */
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
            areturn
         8: .line 251
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // javax.management.ObjectName oname
        end local 4 // org.apache.catalina.Container container
        end local 3 // javax.management.ObjectName pname
        end local 2 // org.apache.catalina.Realm realm
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    9     1     parent  Ljava/lang/String;
            0    9     2      realm  Lorg/apache/catalina/Realm;
            1    9     3      pname  Ljavax/management/ObjectName;
            2    9     4  container  Lorg/apache/catalina/Container;
            4    9     5      oname  Ljavax/management/ObjectName;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      parent  
      realm   

  public java.lang.String createHttpConnector(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
        start local 2 // java.lang.String address
        start local 3 // int port
         0: .line 268
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* address */
            iload 3 /* port */
            iconst_0
            iconst_0
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.createConnector:(Ljava/lang/String;Ljava/lang/String;IZZ)Ljava/lang/String;
            areturn
        end local 3 // int port
        end local 2 // java.lang.String address
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    1     1   parent  Ljava/lang/String;
            0    1     2  address  Ljava/lang/String;
            0    1     3     port  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      parent   
      address  
      port     

  private java.lang.String createConnector(java.lang.String, java.lang.String, int, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;IZZ)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=6
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
        start local 2 // java.lang.String address
        start local 3 // int port
        start local 4 // boolean isAjp
        start local 5 // boolean isSSL
         0: .line 286
            iload 4 /* isAjp */
            ifeq 1
            ldc "AJP/1.3"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "HTTP/1.1"
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 6 /* protocol */
        start local 6 // java.lang.String protocol
         3: .line 287
            new org.apache.catalina.connector.Connector
            dup
            aload 6 /* protocol */
            invokespecial org.apache.catalina.connector.Connector.<init>:(Ljava/lang/String;)V
            astore 7 /* retobj */
        start local 7 // org.apache.catalina.connector.Connector retobj
         4: .line 288
            aload 2 /* address */
            ifnull 6
            aload 2 /* address */
            invokevirtual java.lang.String.length:()I
            ifle 6
         5: .line 289
            aload 7 /* retobj */
            ldc "address"
            aload 2 /* address */
            invokevirtual org.apache.catalina.connector.Connector.setProperty:(Ljava/lang/String;Ljava/lang/String;)Z
            pop
         6: .line 292
      StackMap locals: java.lang.String org.apache.catalina.connector.Connector
      StackMap stack:
            aload 7 /* retobj */
            iload 3 /* port */
            invokevirtual org.apache.catalina.connector.Connector.setPort:(I)V
         7: .line 294
            aload 7 /* retobj */
            iload 5 /* isSSL */
            invokevirtual org.apache.catalina.connector.Connector.setSecure:(Z)V
         8: .line 295
            aload 7 /* retobj */
            iload 5 /* isSSL */
            ifeq 9
            ldc "https"
            goto 10
      StackMap locals:
      StackMap stack: org.apache.catalina.connector.Connector
         9: ldc "http"
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String java.lang.String int int int java.lang.String org.apache.catalina.connector.Connector
      StackMap stack: org.apache.catalina.connector.Connector java.lang.String
        10: invokevirtual org.apache.catalina.connector.Connector.setScheme:(Ljava/lang/String;)V
        11: .line 298
            new javax.management.ObjectName
            dup
            aload 1 /* parent */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 8 /* pname */
        start local 8 // javax.management.ObjectName pname
        12: .line 299
            aload 0 /* this */
            aload 8 /* pname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getService:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Service;
            astore 9 /* service */
        start local 9 // org.apache.catalina.Service service
        13: .line 300
            aload 9 /* service */
            aload 7 /* retobj */
            invokeinterface org.apache.catalina.Service.addConnector:(Lorg/apache/catalina/connector/Connector;)V
        14: .line 303
            aload 7 /* retobj */
            invokevirtual org.apache.catalina.connector.Connector.getObjectName:()Ljavax/management/ObjectName;
            astore 10 /* coname */
        start local 10 // javax.management.ObjectName coname
        15: .line 305
            aload 10 /* coname */
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
            areturn
        end local 10 // javax.management.ObjectName coname
        end local 9 // org.apache.catalina.Service service
        end local 8 // javax.management.ObjectName pname
        end local 7 // org.apache.catalina.connector.Connector retobj
        end local 6 // java.lang.String protocol
        end local 5 // boolean isSSL
        end local 4 // boolean isAjp
        end local 3 // int port
        end local 2 // java.lang.String address
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0   16     1    parent  Ljava/lang/String;
            0   16     2   address  Ljava/lang/String;
            0   16     3      port  I
            0   16     4     isAjp  Z
            0   16     5     isSSL  Z
            3   16     6  protocol  Ljava/lang/String;
            4   16     7    retobj  Lorg/apache/catalina/connector/Connector;
           12   16     8     pname  Ljavax/management/ObjectName;
           13   16     9   service  Lorg/apache/catalina/Service;
           15   16    10    coname  Ljavax/management/ObjectName;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      parent   
      address  
      port     
      isAjp    
      isSSL    

  public java.lang.String createHttpsConnector(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
        start local 2 // java.lang.String address
        start local 3 // int port
         0: .line 321
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* address */
            iload 3 /* port */
            iconst_0
            iconst_1
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.createConnector:(Ljava/lang/String;Ljava/lang/String;IZZ)Ljava/lang/String;
            areturn
        end local 3 // int port
        end local 2 // java.lang.String address
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    1     1   parent  Ljava/lang/String;
            0    1     2  address  Ljava/lang/String;
            0    1     3     port  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      parent   
      address  
      port     

  public java.lang.String createJNDIRealm(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
         0: .line 336
            new org.apache.catalina.realm.JNDIRealm
            dup
            invokespecial org.apache.catalina.realm.JNDIRealm.<init>:()V
            astore 2 /* realm */
        start local 2 // org.apache.catalina.realm.JNDIRealm realm
         1: .line 339
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* realm */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.addRealmToParent:(Ljava/lang/String;Lorg/apache/catalina/Realm;)Ljava/lang/String;
            areturn
        end local 2 // org.apache.catalina.realm.JNDIRealm realm
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    2     1  parent  Ljava/lang/String;
            1    2     2   realm  Lorg/apache/catalina/realm/JNDIRealm;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      parent  

  public java.lang.String createMemoryRealm(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
         0: .line 354
            new org.apache.catalina.realm.MemoryRealm
            dup
            invokespecial org.apache.catalina.realm.MemoryRealm.<init>:()V
            astore 2 /* realm */
        start local 2 // org.apache.catalina.realm.MemoryRealm realm
         1: .line 357
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* realm */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.addRealmToParent:(Ljava/lang/String;Lorg/apache/catalina/Realm;)Ljava/lang/String;
            areturn
        end local 2 // org.apache.catalina.realm.MemoryRealm realm
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    2     1  parent  Ljava/lang/String;
            1    2     2   realm  Lorg/apache/catalina/realm/MemoryRealm;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      parent  

  public java.lang.String createStandardContext(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
        start local 2 // java.lang.String path
        start local 3 // java.lang.String docBase
         0: .line 376
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* path */
            aload 3 /* docBase */
            iconst_0
            iconst_0
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.createStandardContext:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String docBase
        end local 2 // java.lang.String path
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    1     1   parent  Ljava/lang/String;
            0    1     2     path  Ljava/lang/String;
            0    1     3  docBase  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      parent   
      path     
      docBase  

  public java.lang.String createStandardContext(java.lang.String, java.lang.String, java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=14, args_size=6
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
        start local 2 // java.lang.String path
        start local 3 // java.lang.String docBase
        start local 4 // boolean xmlValidation
        start local 5 // boolean xmlNamespaceAware
         0: .line 400
            new org.apache.catalina.core.StandardContext
            dup
            invokespecial org.apache.catalina.core.StandardContext.<init>:()V
            astore 6 /* context */
        start local 6 // org.apache.catalina.core.StandardContext context
         1: .line 401
            aload 0 /* this */
            aload 2 /* path */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getPathStr:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* path */
         2: .line 402
            aload 6 /* context */
            aload 2 /* path */
            invokevirtual org.apache.catalina.core.StandardContext.setPath:(Ljava/lang/String;)V
         3: .line 403
            aload 6 /* context */
            aload 3 /* docBase */
            invokevirtual org.apache.catalina.core.StandardContext.setDocBase:(Ljava/lang/String;)V
         4: .line 404
            aload 6 /* context */
            iload 4 /* xmlValidation */
            invokevirtual org.apache.catalina.core.StandardContext.setXmlValidation:(Z)V
         5: .line 405
            aload 6 /* context */
            iload 5 /* xmlNamespaceAware */
            invokevirtual org.apache.catalina.core.StandardContext.setXmlNamespaceAware:(Z)V
         6: .line 407
            new org.apache.catalina.startup.ContextConfig
            dup
            invokespecial org.apache.catalina.startup.ContextConfig.<init>:()V
            astore 7 /* contextConfig */
        start local 7 // org.apache.catalina.startup.ContextConfig contextConfig
         7: .line 408
            aload 6 /* context */
            aload 7 /* contextConfig */
            invokevirtual org.apache.catalina.core.StandardContext.addLifecycleListener:(Lorg/apache/catalina/LifecycleListener;)V
         8: .line 411
            new javax.management.ObjectName
            dup
            aload 1 /* parent */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 8 /* pname */
        start local 8 // javax.management.ObjectName pname
         9: .line 412
            new javax.management.ObjectName
            dup
            new java.lang.StringBuilder
            dup
            aload 8 /* pname */
            invokevirtual javax.management.ObjectName.getDomain:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 413
            ldc ":type=Deployer,host="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 414
            aload 8 /* pname */
            ldc "host"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 412
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 9 /* deployer */
        start local 9 // javax.management.ObjectName deployer
        13: .line 415
            getstatic org.apache.catalina.mbeans.MBeanFactory.mserver:Ljavax/management/MBeanServer;
            aload 9 /* deployer */
            invokeinterface javax.management.MBeanServer.isRegistered:(Ljavax/management/ObjectName;)Z
            ifeq 35
        14: .line 416
            aload 6 /* context */
            invokevirtual org.apache.catalina.core.StandardContext.getName:()Ljava/lang/String;
            astore 10 /* contextName */
        start local 10 // java.lang.String contextName
        15: .line 417
            getstatic org.apache.catalina.mbeans.MBeanFactory.mserver:Ljavax/management/MBeanServer;
            aload 9 /* deployer */
            ldc "addServiced"
        16: .line 418
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* contextName */
            aastore
        17: .line 419
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "java.lang.String"
            aastore
        18: .line 417
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            pop
        19: .line 420
            getstatic org.apache.catalina.mbeans.MBeanFactory.mserver:Ljavax/management/MBeanServer;
            aload 9 /* deployer */
        20: .line 421
            ldc "configBaseName"
        21: .line 420
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* configPath */
        start local 11 // java.lang.String configPath
        22: .line 422
            aload 6 /* context */
            invokevirtual org.apache.catalina.core.StandardContext.getBaseName:()Ljava/lang/String;
            astore 12 /* baseName */
        start local 12 // java.lang.String baseName
        23: .line 423
            new java.io.File
            dup
            new java.io.File
            dup
            aload 11 /* configPath */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            new java.lang.StringBuilder
            dup
            aload 12 /* baseName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".xml"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 13 /* configFile */
        start local 13 // java.io.File configFile
        24: .line 424
            aload 13 /* configFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 26
        25: .line 425
            aload 6 /* context */
            aload 13 /* configFile */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual org.apache.catalina.core.StandardContext.setConfigFile:(Ljava/net/URL;)V
        26: .line 427
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String java.lang.String java.lang.String int int org.apache.catalina.core.StandardContext org.apache.catalina.startup.ContextConfig javax.management.ObjectName javax.management.ObjectName java.lang.String java.lang.String java.lang.String java.io.File
      StackMap stack:
            getstatic org.apache.catalina.mbeans.MBeanFactory.mserver:Ljavax/management/MBeanServer;
            aload 9 /* deployer */
            ldc "manageApp"
        27: .line 428
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* context */
            aastore
        28: .line 429
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "org.apache.catalina.Context"
            aastore
        29: .line 427
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            pop
        30: .line 430
            getstatic org.apache.catalina.mbeans.MBeanFactory.mserver:Ljavax/management/MBeanServer;
            aload 9 /* deployer */
            ldc "removeServiced"
        31: .line 431
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* contextName */
            aastore
        32: .line 432
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "java.lang.String"
            aastore
        33: .line 430
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            pop
        end local 13 // java.io.File configFile
        end local 12 // java.lang.String baseName
        end local 11 // java.lang.String configPath
        end local 10 // java.lang.String contextName
        34: .line 433
            goto 40
        35: .line 434
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String java.lang.String java.lang.String int int org.apache.catalina.core.StandardContext org.apache.catalina.startup.ContextConfig javax.management.ObjectName javax.management.ObjectName
      StackMap stack:
            getstatic org.apache.catalina.mbeans.MBeanFactory.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.mbeans.MBeanFactory.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "mBeanFactory.noDeployer"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* pname */
            ldc "host"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        36: .line 435
            aload 0 /* this */
            aload 8 /* pname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getService:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Service;
            astore 10 /* service */
        start local 10 // org.apache.catalina.Service service
        37: .line 436
            aload 10 /* service */
            invokeinterface org.apache.catalina.Service.getContainer:()Lorg/apache/catalina/Engine;
            astore 11 /* engine */
        start local 11 // org.apache.catalina.Engine engine
        38: .line 437
            aload 11 /* engine */
            aload 8 /* pname */
            ldc "host"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.apache.catalina.Engine.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            checkcast org.apache.catalina.Host
            astore 12 /* host */
        start local 12 // org.apache.catalina.Host host
        39: .line 438
            aload 12 /* host */
            aload 6 /* context */
            invokeinterface org.apache.catalina.Host.addChild:(Lorg/apache/catalina/Container;)V
        end local 12 // org.apache.catalina.Host host
        end local 11 // org.apache.catalina.Engine engine
        end local 10 // org.apache.catalina.Service service
        40: .line 442
      StackMap locals:
      StackMap stack:
            aload 6 /* context */
            invokevirtual org.apache.catalina.core.StandardContext.getObjectName:()Ljavax/management/ObjectName;
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
            areturn
        end local 9 // javax.management.ObjectName deployer
        end local 8 // javax.management.ObjectName pname
        end local 7 // org.apache.catalina.startup.ContextConfig contextConfig
        end local 6 // org.apache.catalina.core.StandardContext context
        end local 5 // boolean xmlNamespaceAware
        end local 4 // boolean xmlValidation
        end local 3 // java.lang.String docBase
        end local 2 // java.lang.String path
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   41     0               this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0   41     1             parent  Ljava/lang/String;
            0   41     2               path  Ljava/lang/String;
            0   41     3            docBase  Ljava/lang/String;
            0   41     4      xmlValidation  Z
            0   41     5  xmlNamespaceAware  Z
            1   41     6            context  Lorg/apache/catalina/core/StandardContext;
            7   41     7      contextConfig  Lorg/apache/catalina/startup/ContextConfig;
            9   41     8              pname  Ljavax/management/ObjectName;
           13   41     9           deployer  Ljavax/management/ObjectName;
           15   34    10        contextName  Ljava/lang/String;
           22   34    11         configPath  Ljava/lang/String;
           23   34    12           baseName  Ljava/lang/String;
           24   34    13         configFile  Ljava/io/File;
           37   40    10            service  Lorg/apache/catalina/Service;
           38   40    11             engine  Lorg/apache/catalina/Engine;
           39   40    12               host  Lorg/apache/catalina/Host;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                   Name  Flags
      parent             
      path               
      docBase            
      xmlValidation      
      xmlNamespaceAware  

  public java.lang.String createStandardHost(java.lang.String, java.lang.String, java.lang.String, boolean, boolean, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZ)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=13, args_size=8
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
        start local 2 // java.lang.String name
        start local 3 // java.lang.String appBase
        start local 4 // boolean autoDeploy
        start local 5 // boolean deployOnStartup
        start local 6 // boolean deployXML
        start local 7 // boolean unpackWARs
         0: .line 470
            new org.apache.catalina.core.StandardHost
            dup
            invokespecial org.apache.catalina.core.StandardHost.<init>:()V
            astore 8 /* host */
        start local 8 // org.apache.catalina.core.StandardHost host
         1: .line 471
            aload 8 /* host */
            aload 2 /* name */
            invokevirtual org.apache.catalina.core.StandardHost.setName:(Ljava/lang/String;)V
         2: .line 472
            aload 8 /* host */
            aload 3 /* appBase */
            invokevirtual org.apache.catalina.core.StandardHost.setAppBase:(Ljava/lang/String;)V
         3: .line 473
            aload 8 /* host */
            iload 4 /* autoDeploy */
            invokevirtual org.apache.catalina.core.StandardHost.setAutoDeploy:(Z)V
         4: .line 474
            aload 8 /* host */
            iload 5 /* deployOnStartup */
            invokevirtual org.apache.catalina.core.StandardHost.setDeployOnStartup:(Z)V
         5: .line 475
            aload 8 /* host */
            iload 6 /* deployXML */
            invokevirtual org.apache.catalina.core.StandardHost.setDeployXML:(Z)V
         6: .line 476
            aload 8 /* host */
            iload 7 /* unpackWARs */
            invokevirtual org.apache.catalina.core.StandardHost.setUnpackWARs:(Z)V
         7: .line 479
            new org.apache.catalina.startup.HostConfig
            dup
            invokespecial org.apache.catalina.startup.HostConfig.<init>:()V
            astore 9 /* hostConfig */
        start local 9 // org.apache.catalina.startup.HostConfig hostConfig
         8: .line 480
            aload 8 /* host */
            aload 9 /* hostConfig */
            invokevirtual org.apache.catalina.core.StandardHost.addLifecycleListener:(Lorg/apache/catalina/LifecycleListener;)V
         9: .line 483
            new javax.management.ObjectName
            dup
            aload 1 /* parent */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 10 /* pname */
        start local 10 // javax.management.ObjectName pname
        10: .line 484
            aload 0 /* this */
            aload 10 /* pname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getService:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Service;
            astore 11 /* service */
        start local 11 // org.apache.catalina.Service service
        11: .line 485
            aload 11 /* service */
            invokeinterface org.apache.catalina.Service.getContainer:()Lorg/apache/catalina/Engine;
            astore 12 /* engine */
        start local 12 // org.apache.catalina.Engine engine
        12: .line 486
            aload 12 /* engine */
            aload 8 /* host */
            invokeinterface org.apache.catalina.Engine.addChild:(Lorg/apache/catalina/Container;)V
        13: .line 489
            aload 8 /* host */
            invokevirtual org.apache.catalina.core.StandardHost.getObjectName:()Ljavax/management/ObjectName;
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
            areturn
        end local 12 // org.apache.catalina.Engine engine
        end local 11 // org.apache.catalina.Service service
        end local 10 // javax.management.ObjectName pname
        end local 9 // org.apache.catalina.startup.HostConfig hostConfig
        end local 8 // org.apache.catalina.core.StandardHost host
        end local 7 // boolean unpackWARs
        end local 6 // boolean deployXML
        end local 5 // boolean deployOnStartup
        end local 4 // boolean autoDeploy
        end local 3 // java.lang.String appBase
        end local 2 // java.lang.String name
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0   14     1           parent  Ljava/lang/String;
            0   14     2             name  Ljava/lang/String;
            0   14     3          appBase  Ljava/lang/String;
            0   14     4       autoDeploy  Z
            0   14     5  deployOnStartup  Z
            0   14     6        deployXML  Z
            0   14     7       unpackWARs  Z
            1   14     8             host  Lorg/apache/catalina/core/StandardHost;
            8   14     9       hostConfig  Lorg/apache/catalina/startup/HostConfig;
           10   14    10            pname  Ljavax/management/ObjectName;
           11   14    11          service  Lorg/apache/catalina/Service;
           12   14    12           engine  Lorg/apache/catalina/Engine;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                 Name  Flags
      parent           
      name             
      appBase          
      autoDeploy       
      deployOnStartup  
      deployXML        
      unpackWARs       

  public java.lang.String createStandardServiceEngine(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String domain
        start local 2 // java.lang.String defaultHost
        start local 3 // java.lang.String baseDir
         0: .line 507
            aload 0 /* this */
            getfield org.apache.catalina.mbeans.MBeanFactory.container:Ljava/lang/Object;
            instanceof org.apache.catalina.Server
            ifne 2
         1: .line 508
            new java.lang.Exception
            dup
            getstatic org.apache.catalina.mbeans.MBeanFactory.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "mBeanFactory.notServer"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 511
      StackMap locals:
      StackMap stack:
            new org.apache.catalina.core.StandardEngine
            dup
            invokespecial org.apache.catalina.core.StandardEngine.<init>:()V
            astore 4 /* engine */
        start local 4 // org.apache.catalina.core.StandardEngine engine
         3: .line 512
            aload 4 /* engine */
            aload 1 /* domain */
            invokevirtual org.apache.catalina.core.StandardEngine.setDomain:(Ljava/lang/String;)V
         4: .line 513
            aload 4 /* engine */
            aload 1 /* domain */
            invokevirtual org.apache.catalina.core.StandardEngine.setName:(Ljava/lang/String;)V
         5: .line 514
            aload 4 /* engine */
            aload 2 /* defaultHost */
            invokevirtual org.apache.catalina.core.StandardEngine.setDefaultHost:(Ljava/lang/String;)V
         6: .line 516
            new org.apache.catalina.core.StandardService
            dup
            invokespecial org.apache.catalina.core.StandardService.<init>:()V
            astore 5 /* service */
        start local 5 // org.apache.catalina.Service service
         7: .line 517
            aload 5 /* service */
            aload 4 /* engine */
            invokeinterface org.apache.catalina.Service.setContainer:(Lorg/apache/catalina/Engine;)V
         8: .line 518
            aload 5 /* service */
            aload 1 /* domain */
            invokeinterface org.apache.catalina.Service.setName:(Ljava/lang/String;)V
         9: .line 520
            aload 0 /* this */
            getfield org.apache.catalina.mbeans.MBeanFactory.container:Ljava/lang/Object;
            checkcast org.apache.catalina.Server
            aload 5 /* service */
            invokeinterface org.apache.catalina.Server.addService:(Lorg/apache/catalina/Service;)V
        10: .line 522
            aload 4 /* engine */
            invokevirtual org.apache.catalina.core.StandardEngine.getObjectName:()Ljavax/management/ObjectName;
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
            areturn
        end local 5 // org.apache.catalina.Service service
        end local 4 // org.apache.catalina.core.StandardEngine engine
        end local 3 // java.lang.String baseDir
        end local 2 // java.lang.String defaultHost
        end local 1 // java.lang.String domain
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0   11     1       domain  Ljava/lang/String;
            0   11     2  defaultHost  Ljava/lang/String;
            0   11     3      baseDir  Ljava/lang/String;
            3   11     4       engine  Lorg/apache/catalina/core/StandardEngine;
            7   11     5      service  Lorg/apache/catalina/Service;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
             Name  Flags
      domain       
      defaultHost  
      baseDir      

  public java.lang.String createStandardManager(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
         0: .line 538
            new org.apache.catalina.session.StandardManager
            dup
            invokespecial org.apache.catalina.session.StandardManager.<init>:()V
            astore 2 /* manager */
        start local 2 // org.apache.catalina.session.StandardManager manager
         1: .line 541
            new javax.management.ObjectName
            dup
            aload 1 /* parent */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 3 /* pname */
        start local 3 // javax.management.ObjectName pname
         2: .line 542
            aload 0 /* this */
            aload 3 /* pname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getParentContainerFromParent:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Container;
            astore 4 /* container */
        start local 4 // org.apache.catalina.Container container
         3: .line 543
            aload 4 /* container */
            instanceof org.apache.catalina.Context
            ifeq 6
         4: .line 544
            aload 4 /* container */
            checkcast org.apache.catalina.Context
            aload 2 /* manager */
            invokeinterface org.apache.catalina.Context.setManager:(Lorg/apache/catalina/Manager;)V
         5: .line 545
            goto 7
         6: .line 546
      StackMap locals: org.apache.catalina.session.StandardManager javax.management.ObjectName org.apache.catalina.Container
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic org.apache.catalina.mbeans.MBeanFactory.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "mBeanFactory.managerContext"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 548
      StackMap locals:
      StackMap stack:
            aload 2 /* manager */
            invokevirtual org.apache.catalina.session.StandardManager.getObjectName:()Ljavax/management/ObjectName;
            astore 5 /* oname */
        start local 5 // javax.management.ObjectName oname
         8: .line 549
            aload 5 /* oname */
            ifnull 10
         9: .line 550
            aload 5 /* oname */
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
            areturn
        10: .line 552
      StackMap locals: javax.management.ObjectName
      StackMap stack:
            aconst_null
            areturn
        end local 5 // javax.management.ObjectName oname
        end local 4 // org.apache.catalina.Container container
        end local 3 // javax.management.ObjectName pname
        end local 2 // org.apache.catalina.session.StandardManager manager
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0   11     1     parent  Ljava/lang/String;
            1   11     2    manager  Lorg/apache/catalina/session/StandardManager;
            2   11     3      pname  Ljavax/management/ObjectName;
            3   11     4  container  Lorg/apache/catalina/Container;
            8   11     5      oname  Ljavax/management/ObjectName;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      parent  

  public java.lang.String createUserDatabaseRealm(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
        start local 2 // java.lang.String resourceName
         0: .line 572
            new org.apache.catalina.realm.UserDatabaseRealm
            dup
            invokespecial org.apache.catalina.realm.UserDatabaseRealm.<init>:()V
            astore 3 /* realm */
        start local 3 // org.apache.catalina.realm.UserDatabaseRealm realm
         1: .line 573
            aload 3 /* realm */
            aload 2 /* resourceName */
            invokevirtual org.apache.catalina.realm.UserDatabaseRealm.setResourceName:(Ljava/lang/String;)V
         2: .line 576
            aload 0 /* this */
            aload 1 /* parent */
            aload 3 /* realm */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.addRealmToParent:(Ljava/lang/String;Lorg/apache/catalina/Realm;)Ljava/lang/String;
            areturn
        end local 3 // org.apache.catalina.realm.UserDatabaseRealm realm
        end local 2 // java.lang.String resourceName
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    3     1        parent  Ljava/lang/String;
            0    3     2  resourceName  Ljava/lang/String;
            1    3     3         realm  Lorg/apache/catalina/realm/UserDatabaseRealm;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
              Name  Flags
      parent        
      resourceName  

  public java.lang.String createValve(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String className
        start local 2 // java.lang.String parent
         0: .line 597
            new javax.management.ObjectName
            dup
            aload 2 /* parent */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 3 /* parentName */
        start local 3 // javax.management.ObjectName parentName
         1: .line 598
            aload 0 /* this */
            aload 3 /* parentName */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getParentContainerFromParent:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Container;
            astore 4 /* container */
        start local 4 // org.apache.catalina.Container container
         2: .line 600
            aload 4 /* container */
            ifnonnull 4
         3: .line 602
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         4: .line 605
      StackMap locals: javax.management.ObjectName org.apache.catalina.Container
      StackMap stack:
            aload 1 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.Valve
            astore 5 /* valve */
        start local 5 // org.apache.catalina.Valve valve
         5: .line 607
            aload 4 /* container */
            invokeinterface org.apache.catalina.Container.getPipeline:()Lorg/apache/catalina/Pipeline;
            aload 5 /* valve */
            invokeinterface org.apache.catalina.Pipeline.addValve:(Lorg/apache/catalina/Valve;)V
         6: .line 609
            aload 5 /* valve */
            instanceof org.apache.catalina.JmxEnabled
            ifeq 8
         7: .line 610
            aload 5 /* valve */
            checkcast org.apache.catalina.JmxEnabled
            invokeinterface org.apache.catalina.JmxEnabled.getObjectName:()Ljavax/management/ObjectName;
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
            areturn
         8: .line 612
      StackMap locals: org.apache.catalina.Valve
      StackMap stack:
            aconst_null
            areturn
        end local 5 // org.apache.catalina.Valve valve
        end local 4 // org.apache.catalina.Container container
        end local 3 // javax.management.ObjectName parentName
        end local 2 // java.lang.String parent
        end local 1 // java.lang.String className
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    9     1   className  Ljava/lang/String;
            0    9     2      parent  Ljava/lang/String;
            1    9     3  parentName  Ljavax/management/ObjectName;
            2    9     4   container  Lorg/apache/catalina/Container;
            5    9     5       valve  Lorg/apache/catalina/Valve;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
           Name  Flags
      className  
      parent     

  public java.lang.String createWebappLoader(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String parent
         0: .line 629
            new org.apache.catalina.loader.WebappLoader
            dup
            invokespecial org.apache.catalina.loader.WebappLoader.<init>:()V
            astore 2 /* loader */
        start local 2 // org.apache.catalina.loader.WebappLoader loader
         1: .line 632
            new javax.management.ObjectName
            dup
            aload 1 /* parent */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 3 /* pname */
        start local 3 // javax.management.ObjectName pname
         2: .line 633
            aload 0 /* this */
            aload 3 /* pname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getParentContainerFromParent:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Container;
            astore 4 /* container */
        start local 4 // org.apache.catalina.Container container
         3: .line 634
            aload 4 /* container */
            instanceof org.apache.catalina.Context
            ifeq 5
         4: .line 635
            aload 4 /* container */
            checkcast org.apache.catalina.Context
            aload 2 /* loader */
            invokeinterface org.apache.catalina.Context.setLoader:(Lorg/apache/catalina/Loader;)V
         5: .line 640
      StackMap locals: org.apache.catalina.loader.WebappLoader javax.management.ObjectName org.apache.catalina.Container
      StackMap stack:
            aload 3 /* pname */
            invokevirtual javax.management.ObjectName.getDomain:()Ljava/lang/String;
            aload 2 /* loader */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.createObjectName:(Ljava/lang/String;Lorg/apache/catalina/Loader;)Ljavax/management/ObjectName;
         6: .line 639
            astore 5 /* oname */
        start local 5 // javax.management.ObjectName oname
         7: .line 641
            aload 5 /* oname */
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
            areturn
        end local 5 // javax.management.ObjectName oname
        end local 4 // org.apache.catalina.Container container
        end local 3 // javax.management.ObjectName pname
        end local 2 // org.apache.catalina.loader.WebappLoader loader
        end local 1 // java.lang.String parent
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    8     1     parent  Ljava/lang/String;
            1    8     2     loader  Lorg/apache/catalina/loader/WebappLoader;
            2    8     3      pname  Ljavax/management/ObjectName;
            3    8     4  container  Lorg/apache/catalina/Container;
            7    8     5      oname  Ljavax/management/ObjectName;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      parent  

  public void removeConnector(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=14, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String name
         0: .line 656
            new javax.management.ObjectName
            dup
            aload 1 /* name */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* oname */
        start local 2 // javax.management.ObjectName oname
         1: .line 657
            aload 0 /* this */
            aload 2 /* oname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getService:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Service;
            astore 3 /* service */
        start local 3 // org.apache.catalina.Service service
         2: .line 658
            aload 2 /* oname */
            ldc "port"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* port */
        start local 4 // java.lang.String port
         3: .line 659
            aload 2 /* oname */
            ldc "address"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* address */
        start local 5 // java.lang.String address
         4: .line 660
            aload 5 /* address */
            ifnull 6
         5: .line 661
            aload 5 /* address */
            invokestatic javax.management.ObjectName.unquote:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* address */
         6: .line 664
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String javax.management.ObjectName org.apache.catalina.Service java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* service */
            invokeinterface org.apache.catalina.Service.findConnectors:()[Lorg/apache/catalina/connector/Connector;
            astore 6 /* conns */
        start local 6 // org.apache.catalina.connector.Connector[] conns
         7: .line 666
            aload 6 /* conns */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 24
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String javax.management.ObjectName org.apache.catalina.Service java.lang.String java.lang.String org.apache.catalina.connector.Connector[] top int int org.apache.catalina.connector.Connector[]
      StackMap stack:
         8: aload 10
            iload 8
            aaload
            astore 7 /* conn */
        start local 7 // org.apache.catalina.connector.Connector conn
         9: .line 667
            aconst_null
            astore 11 /* connAddress */
        start local 11 // java.lang.String connAddress
        10: .line 668
            aload 7 /* conn */
            ldc "address"
            invokevirtual org.apache.catalina.connector.Connector.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            astore 12 /* objConnAddress */
        start local 12 // java.lang.Object objConnAddress
        11: .line 669
            aload 12 /* objConnAddress */
            ifnull 13
        12: .line 670
            aload 12 /* objConnAddress */
            checkcast java.net.InetAddress
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            astore 11 /* connAddress */
        13: .line 672
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String javax.management.ObjectName org.apache.catalina.Service java.lang.String java.lang.String org.apache.catalina.connector.Connector[] org.apache.catalina.connector.Connector int int org.apache.catalina.connector.Connector[] java.lang.String java.lang.Object
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 7 /* conn */
            invokevirtual org.apache.catalina.connector.Connector.getPortWithOffset:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 13 /* connPort */
        start local 13 // java.lang.String connPort
        14: .line 674
            aload 5 /* address */
            ifnonnull 19
        15: .line 677
            aload 11 /* connAddress */
            ifnonnull 23
            aload 4 /* port */
            aload 13 /* connPort */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        16: .line 678
            aload 3 /* service */
            aload 7 /* conn */
            invokeinterface org.apache.catalina.Service.removeConnector:(Lorg/apache/catalina/connector/Connector;)V
        17: .line 679
            aload 7 /* conn */
            invokevirtual org.apache.catalina.connector.Connector.destroy:()V
        18: .line 680
            goto 25
        19: .line 683
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* address */
            aload 11 /* connAddress */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
            aload 4 /* port */
            aload 13 /* connPort */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        20: .line 684
            aload 3 /* service */
            aload 7 /* conn */
            invokeinterface org.apache.catalina.Service.removeConnector:(Lorg/apache/catalina/connector/Connector;)V
        21: .line 685
            aload 7 /* conn */
            invokevirtual org.apache.catalina.connector.Connector.destroy:()V
        22: .line 686
            goto 25
        end local 13 // java.lang.String connPort
        end local 12 // java.lang.Object objConnAddress
        end local 11 // java.lang.String connAddress
        end local 7 // org.apache.catalina.connector.Connector conn
        23: .line 666
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String javax.management.ObjectName org.apache.catalina.Service java.lang.String java.lang.String org.apache.catalina.connector.Connector[] top int int org.apache.catalina.connector.Connector[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        24: iload 8
            iload 9
            if_icmplt 8
        25: .line 689
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String javax.management.ObjectName org.apache.catalina.Service java.lang.String java.lang.String org.apache.catalina.connector.Connector[]
      StackMap stack:
            return
        end local 6 // org.apache.catalina.connector.Connector[] conns
        end local 5 // java.lang.String address
        end local 4 // java.lang.String port
        end local 3 // org.apache.catalina.Service service
        end local 2 // javax.management.ObjectName oname
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0            this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0   26     1            name  Ljava/lang/String;
            1   26     2           oname  Ljavax/management/ObjectName;
            2   26     3         service  Lorg/apache/catalina/Service;
            3   26     4            port  Ljava/lang/String;
            4   26     5         address  Ljava/lang/String;
            7   26     6           conns  [Lorg/apache/catalina/connector/Connector;
            9   23     7            conn  Lorg/apache/catalina/connector/Connector;
           10   23    11     connAddress  Ljava/lang/String;
           11   23    12  objConnAddress  Ljava/lang/Object;
           14   23    13        connPort  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public void removeContext(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=15, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String contextName
         0: .line 702
            new javax.management.ObjectName
            dup
            aload 1 /* contextName */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* oname */
        start local 2 // javax.management.ObjectName oname
         1: .line 703
            aload 2 /* oname */
            invokevirtual javax.management.ObjectName.getDomain:()Ljava/lang/String;
            astore 3 /* domain */
        start local 3 // java.lang.String domain
         2: .line 704
            aload 0 /* this */
            aload 2 /* oname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getService:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Service;
            checkcast org.apache.catalina.core.StandardService
            astore 4 /* service */
        start local 4 // org.apache.catalina.core.StandardService service
         3: .line 706
            aload 4 /* service */
            invokevirtual org.apache.catalina.core.StandardService.getContainer:()Lorg/apache/catalina/Engine;
            astore 5 /* engine */
        start local 5 // org.apache.catalina.Engine engine
         4: .line 707
            aload 2 /* oname */
            ldc "name"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         5: .line 708
            aload 6 /* name */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* name */
         6: .line 709
            aload 6 /* name */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            istore 7 /* i */
        start local 7 // int i
         7: .line 710
            aload 6 /* name */
            iconst_0
            iload 7 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* hostName */
        start local 8 // java.lang.String hostName
         8: .line 711
            aload 6 /* name */
            iload 7 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* path */
        start local 9 // java.lang.String path
         9: .line 712
            new javax.management.ObjectName
            dup
            new java.lang.StringBuilder
            dup
            aload 3 /* domain */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":type=Deployer,host="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 713
            aload 8 /* hostName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 712
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 10 /* deployer */
        start local 10 // javax.management.ObjectName deployer
        12: .line 714
            aload 0 /* this */
            aload 9 /* path */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getPathStr:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* pathStr */
        start local 11 // java.lang.String pathStr
        13: .line 715
            getstatic org.apache.catalina.mbeans.MBeanFactory.mserver:Ljavax/management/MBeanServer;
            aload 10 /* deployer */
            invokeinterface javax.management.MBeanServer.isRegistered:(Ljavax/management/ObjectName;)Z
            ifeq 27
        14: .line 716
            getstatic org.apache.catalina.mbeans.MBeanFactory.mserver:Ljavax/management/MBeanServer;
            aload 10 /* deployer */
            ldc "addServiced"
        15: .line 717
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* pathStr */
            aastore
        16: .line 718
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "java.lang.String"
            aastore
        17: .line 716
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            pop
        18: .line 719
            getstatic org.apache.catalina.mbeans.MBeanFactory.mserver:Ljavax/management/MBeanServer;
            aload 10 /* deployer */
            ldc "unmanageApp"
        19: .line 720
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* pathStr */
            aastore
        20: .line 721
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "java.lang.String"
            aastore
        21: .line 719
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            pop
        22: .line 722
            getstatic org.apache.catalina.mbeans.MBeanFactory.mserver:Ljavax/management/MBeanServer;
            aload 10 /* deployer */
            ldc "removeServiced"
        23: .line 723
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* pathStr */
            aastore
        24: .line 724
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "java.lang.String"
            aastore
        25: .line 722
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            pop
        26: .line 725
            goto 36
        27: .line 726
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String javax.management.ObjectName java.lang.String org.apache.catalina.core.StandardService org.apache.catalina.Engine java.lang.String int java.lang.String java.lang.String javax.management.ObjectName java.lang.String
      StackMap stack:
            getstatic org.apache.catalina.mbeans.MBeanFactory.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.mbeans.MBeanFactory.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "mBeanFactory.noDeployer"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* hostName */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        28: .line 727
            aload 5 /* engine */
            aload 8 /* hostName */
            invokeinterface org.apache.catalina.Engine.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            checkcast org.apache.catalina.Host
            astore 12 /* host */
        start local 12 // org.apache.catalina.Host host
        29: .line 728
            aload 12 /* host */
            aload 11 /* pathStr */
            invokeinterface org.apache.catalina.Host.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            checkcast org.apache.catalina.Context
            astore 13 /* context */
        start local 13 // org.apache.catalina.Context context
        30: .line 730
            aload 12 /* host */
            aload 13 /* context */
            invokeinterface org.apache.catalina.Host.removeChild:(Lorg/apache/catalina/Container;)V
        31: .line 731
            aload 13 /* context */
            instanceof org.apache.catalina.core.StandardContext
            ifeq 36
        32: .line 733
            aload 13 /* context */
            invokeinterface org.apache.catalina.Context.destroy:()V
        33: .line 734
            goto 36
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String javax.management.ObjectName java.lang.String org.apache.catalina.core.StandardService org.apache.catalina.Engine java.lang.String int java.lang.String java.lang.String javax.management.ObjectName java.lang.String org.apache.catalina.Host org.apache.catalina.Context
      StackMap stack: java.lang.Exception
        34: astore 14 /* e */
        start local 14 // java.lang.Exception e
        35: .line 735
            getstatic org.apache.catalina.mbeans.MBeanFactory.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.mbeans.MBeanFactory.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "mBeanFactory.contextDestroyError"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 14 /* e */
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 14 // java.lang.Exception e
        end local 13 // org.apache.catalina.Context context
        end local 12 // org.apache.catalina.Host host
        36: .line 740
      StackMap locals:
      StackMap stack:
            return
        end local 11 // java.lang.String pathStr
        end local 10 // javax.management.ObjectName deployer
        end local 9 // java.lang.String path
        end local 8 // java.lang.String hostName
        end local 7 // int i
        end local 6 // java.lang.String name
        end local 5 // org.apache.catalina.Engine engine
        end local 4 // org.apache.catalina.core.StandardService service
        end local 3 // java.lang.String domain
        end local 2 // javax.management.ObjectName oname
        end local 1 // java.lang.String contextName
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   37     0         this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0   37     1  contextName  Ljava/lang/String;
            1   37     2        oname  Ljavax/management/ObjectName;
            2   37     3       domain  Ljava/lang/String;
            3   37     4      service  Lorg/apache/catalina/core/StandardService;
            4   37     5       engine  Lorg/apache/catalina/Engine;
            5   37     6         name  Ljava/lang/String;
            7   37     7            i  I
            8   37     8     hostName  Ljava/lang/String;
            9   37     9         path  Ljava/lang/String;
           12   37    10     deployer  Ljavax/management/ObjectName;
           13   37    11      pathStr  Ljava/lang/String;
           29   36    12         host  Lorg/apache/catalina/Host;
           30   36    13      context  Lorg/apache/catalina/Context;
           35   36    14            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          32    33      34  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
             Name  Flags
      contextName  

  public void removeHost(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String name
         0: .line 753
            new javax.management.ObjectName
            dup
            aload 1 /* name */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* oname */
        start local 2 // javax.management.ObjectName oname
         1: .line 754
            aload 2 /* oname */
            ldc "host"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* hostName */
        start local 3 // java.lang.String hostName
         2: .line 755
            aload 0 /* this */
            aload 2 /* oname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getService:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Service;
            astore 4 /* service */
        start local 4 // org.apache.catalina.Service service
         3: .line 756
            aload 4 /* service */
            invokeinterface org.apache.catalina.Service.getContainer:()Lorg/apache/catalina/Engine;
            astore 5 /* engine */
        start local 5 // org.apache.catalina.Engine engine
         4: .line 757
            aload 5 /* engine */
            aload 3 /* hostName */
            invokeinterface org.apache.catalina.Engine.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            checkcast org.apache.catalina.Host
            astore 6 /* host */
        start local 6 // org.apache.catalina.Host host
         5: .line 760
            aload 6 /* host */
            ifnull 7
         6: .line 761
            aload 5 /* engine */
            aload 6 /* host */
            invokeinterface org.apache.catalina.Engine.removeChild:(Lorg/apache/catalina/Container;)V
         7: .line 763
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String javax.management.ObjectName java.lang.String org.apache.catalina.Service org.apache.catalina.Engine org.apache.catalina.Host
      StackMap stack:
            return
        end local 6 // org.apache.catalina.Host host
        end local 5 // org.apache.catalina.Engine engine
        end local 4 // org.apache.catalina.Service service
        end local 3 // java.lang.String hostName
        end local 2 // javax.management.ObjectName oname
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    8     1      name  Ljava/lang/String;
            1    8     2     oname  Ljavax/management/ObjectName;
            2    8     3  hostName  Ljava/lang/String;
            3    8     4   service  Lorg/apache/catalina/Service;
            4    8     5    engine  Lorg/apache/catalina/Engine;
            5    8     6      host  Lorg/apache/catalina/Host;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public void removeLoader(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String name
         0: .line 775
            new javax.management.ObjectName
            dup
            aload 1 /* name */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* oname */
        start local 2 // javax.management.ObjectName oname
         1: .line 777
            aload 0 /* this */
            aload 2 /* oname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getParentContainerFromChild:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Container;
            astore 3 /* container */
        start local 3 // org.apache.catalina.Container container
         2: .line 778
            aload 3 /* container */
            instanceof org.apache.catalina.Context
            ifeq 4
         3: .line 779
            aload 3 /* container */
            checkcast org.apache.catalina.Context
            aconst_null
            invokeinterface org.apache.catalina.Context.setLoader:(Lorg/apache/catalina/Loader;)V
         4: .line 781
      StackMap locals: javax.management.ObjectName org.apache.catalina.Container
      StackMap stack:
            return
        end local 3 // org.apache.catalina.Container container
        end local 2 // javax.management.ObjectName oname
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    5     1       name  Ljava/lang/String;
            1    5     2      oname  Ljavax/management/ObjectName;
            2    5     3  container  Lorg/apache/catalina/Container;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public void removeManager(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String name
         0: .line 793
            new javax.management.ObjectName
            dup
            aload 1 /* name */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* oname */
        start local 2 // javax.management.ObjectName oname
         1: .line 795
            aload 0 /* this */
            aload 2 /* oname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getParentContainerFromChild:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Container;
            astore 3 /* container */
        start local 3 // org.apache.catalina.Container container
         2: .line 796
            aload 3 /* container */
            instanceof org.apache.catalina.Context
            ifeq 4
         3: .line 797
            aload 3 /* container */
            checkcast org.apache.catalina.Context
            aconst_null
            invokeinterface org.apache.catalina.Context.setManager:(Lorg/apache/catalina/Manager;)V
         4: .line 799
      StackMap locals: javax.management.ObjectName org.apache.catalina.Container
      StackMap stack:
            return
        end local 3 // org.apache.catalina.Container container
        end local 2 // javax.management.ObjectName oname
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    5     1       name  Ljava/lang/String;
            1    5     2      oname  Ljavax/management/ObjectName;
            2    5     3  container  Lorg/apache/catalina/Container;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public void removeRealm(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String name
         0: .line 811
            new javax.management.ObjectName
            dup
            aload 1 /* name */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* oname */
        start local 2 // javax.management.ObjectName oname
         1: .line 813
            aload 0 /* this */
            aload 2 /* oname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getParentContainerFromChild:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Container;
            astore 3 /* container */
        start local 3 // org.apache.catalina.Container container
         2: .line 814
            aload 3 /* container */
            aconst_null
            invokeinterface org.apache.catalina.Container.setRealm:(Lorg/apache/catalina/Realm;)V
         3: .line 815
            return
        end local 3 // org.apache.catalina.Container container
        end local 2 // javax.management.ObjectName oname
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    4     1       name  Ljava/lang/String;
            1    4     2      oname  Ljavax/management/ObjectName;
            2    4     3  container  Lorg/apache/catalina/Container;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public void removeService(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String name
         0: .line 827
            aload 0 /* this */
            getfield org.apache.catalina.mbeans.MBeanFactory.container:Ljava/lang/Object;
            instanceof org.apache.catalina.Server
            ifne 2
         1: .line 828
            new java.lang.Exception
            dup
            invokespecial java.lang.Exception.<init>:()V
            athrow
         2: .line 832
      StackMap locals:
      StackMap stack:
            new javax.management.ObjectName
            dup
            aload 1 /* name */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* oname */
        start local 2 // javax.management.ObjectName oname
         3: .line 833
            aload 0 /* this */
            aload 2 /* oname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getService:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Service;
            astore 3 /* service */
        start local 3 // org.apache.catalina.Service service
         4: .line 834
            aload 0 /* this */
            getfield org.apache.catalina.mbeans.MBeanFactory.container:Ljava/lang/Object;
            checkcast org.apache.catalina.Server
            aload 3 /* service */
            invokeinterface org.apache.catalina.Server.removeService:(Lorg/apache/catalina/Service;)V
         5: .line 835
            return
        end local 3 // org.apache.catalina.Service service
        end local 2 // javax.management.ObjectName oname
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0    6     1     name  Ljava/lang/String;
            3    6     2    oname  Ljavax/management/ObjectName;
            4    6     3  service  Lorg/apache/catalina/Service;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public void removeValve(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.apache.catalina.mbeans.MBeanFactory this
        start local 1 // java.lang.String name
         0: .line 848
            new javax.management.ObjectName
            dup
            aload 1 /* name */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* oname */
        start local 2 // javax.management.ObjectName oname
         1: .line 849
            aload 0 /* this */
            aload 2 /* oname */
            invokevirtual org.apache.catalina.mbeans.MBeanFactory.getParentContainerFromChild:(Ljavax/management/ObjectName;)Lorg/apache/catalina/Container;
            astore 3 /* container */
        start local 3 // org.apache.catalina.Container container
         2: .line 850
            aload 3 /* container */
            invokeinterface org.apache.catalina.Container.getPipeline:()Lorg/apache/catalina/Pipeline;
            invokeinterface org.apache.catalina.Pipeline.getValves:()[Lorg/apache/catalina/Valve;
            astore 4 /* valves */
        start local 4 // org.apache.catalina.Valve[] valves
         3: .line 851
            aload 4 /* valves */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 9
      StackMap locals: org.apache.catalina.mbeans.MBeanFactory java.lang.String javax.management.ObjectName org.apache.catalina.Container org.apache.catalina.Valve[] top int int org.apache.catalina.Valve[]
      StackMap stack:
         4: aload 8
            iload 6
            aaload
            astore 5 /* valve */
        start local 5 // org.apache.catalina.Valve valve
         5: .line 852
            aload 5 /* valve */
            checkcast org.apache.catalina.JmxEnabled
            invokeinterface org.apache.catalina.JmxEnabled.getObjectName:()Ljavax/management/ObjectName;
            astore 9 /* voname */
        start local 9 // javax.management.ObjectName voname
         6: .line 853
            aload 9 /* voname */
            aload 2 /* oname */
            invokevirtual javax.management.ObjectName.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 854
            aload 3 /* container */
            invokeinterface org.apache.catalina.Container.getPipeline:()Lorg/apache/catalina/Pipeline;
            aload 5 /* valve */
            invokeinterface org.apache.catalina.Pipeline.removeValve:(Lorg/apache/catalina/Valve;)V
        end local 9 // javax.management.ObjectName voname
        end local 5 // org.apache.catalina.Valve valve
         8: .line 851
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
         9: iload 6
            iload 7
            if_icmplt 4
        10: .line 857
            return
        end local 4 // org.apache.catalina.Valve[] valves
        end local 3 // org.apache.catalina.Container container
        end local 2 // javax.management.ObjectName oname
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.mbeans.MBeanFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/apache/catalina/mbeans/MBeanFactory;
            0   11     1       name  Ljava/lang/String;
            1   11     2      oname  Ljavax/management/ObjectName;
            2   11     3  container  Lorg/apache/catalina/Container;
            3   11     4     valves  [Lorg/apache/catalina/Valve;
            5    8     5      valve  Lorg/apache/catalina/Valve;
            6    8     9     voname  Ljavax/management/ObjectName;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      name  
}
SourceFile: "MBeanFactory.java"