public class org.apache.tomcat.util.modeler.Registry implements org.apache.tomcat.util.modeler.RegistryMBean, javax.management.MBeanRegistration
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.tomcat.util.modeler.Registry
  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

  private static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static org.apache.tomcat.util.modeler.Registry registry;
    descriptor: Lorg/apache/tomcat/util/modeler/Registry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private volatile javax.management.MBeanServer server;
    descriptor: Ljavax/management/MBeanServer;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.lang.Object serverLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Map<java.lang.String, org.apache.tomcat.util.modeler.ManagedBean> descriptors;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/modeler/ManagedBean;>;

  private java.util.Map<java.lang.String, org.apache.tomcat.util.modeler.ManagedBean> descriptorsByClass;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/modeler/ManagedBean;>;

  private java.util.Map<java.lang.String, java.net.URL> searchedPaths;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/net/URL;>;

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

  private final java.util.Hashtable<java.lang.String, java.util.Hashtable<java.lang.String, java.lang.Integer>> idDomains;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Integer;>;>;

  private final java.util.Hashtable<java.lang.String, int[]> ids;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Hashtable<Ljava/lang/String;[I>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 75
            ldc Lorg/apache/tomcat/util/modeler/Registry;
            invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
            putstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
         1: .line 76
            ldc Lorg/apache/tomcat/util/modeler/Registry;
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
            putstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
         2: .line 84
            aconst_null
            putstatic org.apache.tomcat.util.modeler.Registry.registry:Lorg/apache/tomcat/util/modeler/Registry;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.modeler.Registry this
         0: .line 120
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 92
            aload 0 /* this */
            aconst_null
            putfield org.apache.tomcat.util.modeler.Registry.server:Ljavax/management/MBeanServer;
         2: .line 93
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.apache.tomcat.util.modeler.Registry.serverLock:Ljava/lang/Object;
         3: .line 99
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.modeler.Registry.descriptors:Ljava/util/Map;
         4: .line 104
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.modeler.Registry.descriptorsByClass:Ljava/util/Map;
         5: .line 107
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.modeler.Registry.searchedPaths:Ljava/util/Map;
         6: .line 113
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield org.apache.tomcat.util.modeler.Registry.idDomains:Ljava/util/Hashtable;
         7: .line 114
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield org.apache.tomcat.util.modeler.Registry.ids:Ljava/util/Hashtable;
         8: .line 121
            return
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/tomcat/util/modeler/Registry;

  public static synchronized org.apache.tomcat.util.modeler.Registry getRegistry(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/tomcat/util/modeler/Registry;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object key
        start local 1 // java.lang.Object guard
         0: .line 138
            getstatic org.apache.tomcat.util.modeler.Registry.registry:Lorg/apache/tomcat/util/modeler/Registry;
            ifnonnull 5
         1: .line 139
            invokestatic org.apache.tomcat.util.compat.JreCompat.isGraalAvailable:()Z
            ifeq 4
         2: .line 140
            invokestatic org.apache.tomcat.util.modeler.Registry.disableRegistry:()V
         3: .line 141
            goto 5
         4: .line 142
      StackMap locals:
      StackMap stack:
            new org.apache.tomcat.util.modeler.Registry
            dup
            invokespecial org.apache.tomcat.util.modeler.Registry.<init>:()V
            putstatic org.apache.tomcat.util.modeler.Registry.registry:Lorg/apache/tomcat/util/modeler/Registry;
         5: .line 145
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.modeler.Registry.registry:Lorg/apache/tomcat/util/modeler/Registry;
            getfield org.apache.tomcat.util.modeler.Registry.guard:Ljava/lang/Object;
            ifnull 7
            getstatic org.apache.tomcat.util.modeler.Registry.registry:Lorg/apache/tomcat/util/modeler/Registry;
            getfield org.apache.tomcat.util.modeler.Registry.guard:Ljava/lang/Object;
            aload 1 /* guard */
            if_acmpeq 7
         6: .line 146
            aconst_null
            areturn
         7: .line 148
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.modeler.Registry.registry:Lorg/apache/tomcat/util/modeler/Registry;
            areturn
        end local 1 // java.lang.Object guard
        end local 0 // java.lang.Object key
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0    key  Ljava/lang/Object;
            0    8     1  guard  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      key    
      guard  

  public static synchronized void disableRegistry();
    descriptor: ()V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 153
            getstatic org.apache.tomcat.util.modeler.Registry.registry:Lorg/apache/tomcat/util/modeler/Registry;
            ifnonnull 3
         1: .line 154
            new org.apache.tomcat.util.modeler.NoDescriptorRegistry
            dup
            invokespecial org.apache.tomcat.util.modeler.NoDescriptorRegistry.<init>:()V
            putstatic org.apache.tomcat.util.modeler.Registry.registry:Lorg/apache/tomcat/util/modeler/Registry;
         2: .line 155
            goto 5
      StackMap locals:
      StackMap stack:
         3: getstatic org.apache.tomcat.util.modeler.Registry.registry:Lorg/apache/tomcat/util/modeler/Registry;
            instanceof org.apache.tomcat.util.modeler.NoDescriptorRegistry
            ifne 5
         4: .line 156
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "registry.noDisable"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
         5: .line 158
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.modeler.Registry this
         0: .line 171
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.modeler.Registry.descriptorsByClass:Ljava/util/Map;
         1: .line 172
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.modeler.Registry.descriptors:Ljava/util/Map;
         2: .line 173
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.modeler.Registry.searchedPaths:Ljava/util/Map;
         3: .line 174
            return
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/tomcat/util/modeler/Registry;

  public void registerComponent(java.lang.Object, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.Object bean
        start local 2 // java.lang.String oname
        start local 3 // java.lang.String type
         0: .line 210
            aload 0 /* this */
            aload 1 /* bean */
            new javax.management.ObjectName
            dup
            aload 2 /* oname */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            aload 3 /* type */
            invokevirtual org.apache.tomcat.util.modeler.Registry.registerComponent:(Ljava/lang/Object;Ljavax/management/ObjectName;Ljava/lang/String;)V
         1: .line 211
            return
        end local 3 // java.lang.String type
        end local 2 // java.lang.String oname
        end local 1 // java.lang.Object bean
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/tomcat/util/modeler/Registry;
            0    2     1   bean  Ljava/lang/Object;
            0    2     2  oname  Ljava/lang/String;
            0    2     3   type  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      bean   
      oname  
      type   

  public void unregisterComponent(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.String oname
         0: .line 225
            aload 0 /* this */
            new javax.management.ObjectName
            dup
            aload 1 /* oname */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            invokevirtual org.apache.tomcat.util.modeler.Registry.unregisterComponent:(Ljavax/management/ObjectName;)V
         1: .line 226
            goto 4
      StackMap locals:
      StackMap stack: javax.management.MalformedObjectNameException
         2: astore 2 /* e */
        start local 2 // javax.management.MalformedObjectNameException e
         3: .line 227
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "registry.objectNameCreateError"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* e */
            invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 2 // javax.management.MalformedObjectNameException e
         4: .line 229
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String oname
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/apache/tomcat/util/modeler/Registry;
            0    5     1  oname  Ljava/lang/String;
            3    4     2      e  Ljavax/management/MalformedObjectNameException;
      Exception table:
        from    to  target  type
           0     1       2  Class javax.management.MalformedObjectNameException
    MethodParameters:
       Name  Flags
      oname  

  public void invoke(java.util.List<javax.management.ObjectName>, java.lang.String, );
    descriptor: (Ljava/util/List;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.util.List mbeans
        start local 2 // java.lang.String operation
        start local 3 // boolean failFirst
         0: .line 246
            aload 1 /* mbeans */
            ifnonnull 2
         1: .line 247
            return
         2: .line 249
      StackMap locals:
      StackMap stack:
            aload 1 /* mbeans */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: org.apache.tomcat.util.modeler.Registry java.util.List java.lang.String int top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 4 /* current */
        start local 4 // javax.management.ObjectName current
         4: .line 251
            aload 4 /* current */
            ifnonnull 6
         5: .line 252
            goto 14
         6: .line 254
      StackMap locals: org.apache.tomcat.util.modeler.Registry java.util.List java.lang.String int javax.management.ObjectName java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 4 /* current */
            aload 2 /* operation */
            invokevirtual org.apache.tomcat.util.modeler.Registry.getMethodInfo:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljavax/management/MBeanOperationInfo;
            ifnonnull 8
         7: .line 255
            goto 14
         8: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.modeler.Registry.getMBeanServer:()Ljavax/management/MBeanServer;
            aload 4 /* current */
            aload 2 /* operation */
            iconst_0
            anewarray java.lang.Object
            iconst_0
            anewarray java.lang.String
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            pop
         9: .line 259
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Exception
        10: astore 6 /* t */
        start local 6 // java.lang.Exception t
        11: .line 260
            iload 3 /* failFirst */
            ifeq 13
        12: .line 261
            aload 6 /* t */
            athrow
        13: .line 262
      StackMap locals: java.lang.Exception
      StackMap stack:
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "registry.initError"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 6 /* t */
            invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 6 // java.lang.Exception t
        end local 4 // javax.management.ObjectName current
        14: .line 249
      StackMap locals: org.apache.tomcat.util.modeler.Registry java.util.List java.lang.String int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        15: .line 265
            return
        end local 3 // boolean failFirst
        end local 2 // java.lang.String operation
        end local 1 // java.util.List mbeans
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/apache/tomcat/util/modeler/Registry;
            0   16     1     mbeans  Ljava/util/List<Ljavax/management/ObjectName;>;
            0   16     2  operation  Ljava/lang/String;
            0   16     3  failFirst  Z
            4   14     4    current  Ljavax/management/ObjectName;
           11   14     6          t  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     5      10  Class java.lang.Exception
           6     7      10  Class java.lang.Exception
           8     9      10  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/util/List<Ljavax/management/ObjectName;>;Ljava/lang/String;Z)V
    MethodParameters:
           Name  Flags
      mbeans     
      operation  
      failFirst  

  public synchronized int getId(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.String domain
        start local 2 // java.lang.String name
         0: .line 280
            aload 1 /* domain */
            ifnonnull 2
         1: .line 281
            ldc ""
            astore 1 /* domain */
         2: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.idDomains:Ljava/util/Hashtable;
            aload 1 /* domain */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Hashtable
            astore 3 /* domainTable */
        start local 3 // java.util.Hashtable domainTable
         3: .line 284
            aload 3 /* domainTable */
            ifnonnull 6
         4: .line 285
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            astore 3 /* domainTable */
         5: .line 286
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.idDomains:Ljava/util/Hashtable;
            aload 1 /* domain */
            aload 3 /* domainTable */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 288
      StackMap locals: java.util.Hashtable
      StackMap stack:
            aload 2 /* name */
            ifnonnull 8
         7: .line 289
            ldc ""
            astore 2 /* name */
         8: .line 291
      StackMap locals:
      StackMap stack:
            aload 3 /* domainTable */
            aload 2 /* name */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 4 /* i */
        start local 4 // java.lang.Integer i
         9: .line 293
            aload 4 /* i */
            ifnull 11
        10: .line 294
            aload 4 /* i */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        11: .line 297
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.ids:Ljava/util/Hashtable;
            aload 1 /* domain */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast int[]
            astore 5 /* id */
        start local 5 // int[] id
        12: .line 298
            aload 5 /* id */
            ifnonnull 15
        13: .line 299
            iconst_1
            newarray 10
            astore 5 /* id */
        14: .line 300
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.ids:Ljava/util/Hashtable;
            aload 1 /* domain */
            aload 5 /* id */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 302
      StackMap locals: int[]
      StackMap stack:
            aload 5 /* id */
            iconst_0
            dup2
            iaload
            dup_x2
            iconst_1
            iadd
            iastore
            istore 6 /* code */
        start local 6 // int code
        16: .line 303
            aload 3 /* domainTable */
            aload 2 /* name */
            iload 6 /* code */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 304
            iload 6 /* code */
            ireturn
        end local 6 // int code
        end local 5 // int[] id
        end local 4 // java.lang.Integer i
        end local 3 // java.util.Hashtable domainTable
        end local 2 // java.lang.String name
        end local 1 // java.lang.String domain
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lorg/apache/tomcat/util/modeler/Registry;
            0   18     1       domain  Ljava/lang/String;
            0   18     2         name  Ljava/lang/String;
            3   18     3  domainTable  Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Integer;>;
            9   18     4            i  Ljava/lang/Integer;
           12   18     5           id  [I
           16   18     6         code  I
    MethodParameters:
        Name  Flags
      domain  
      name    

  public void addManagedBean(org.apache.tomcat.util.modeler.ManagedBean);
    descriptor: (Lorg/apache/tomcat/util/modeler/ManagedBean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // org.apache.tomcat.util.modeler.ManagedBean bean
         0: .line 320
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.descriptors:Ljava/util/Map;
            aload 1 /* bean */
            invokevirtual org.apache.tomcat.util.modeler.ManagedBean.getName:()Ljava/lang/String;
            aload 1 /* bean */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 321
            aload 1 /* bean */
            invokevirtual org.apache.tomcat.util.modeler.ManagedBean.getType:()Ljava/lang/String;
            ifnull 3
         2: .line 322
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.descriptorsByClass:Ljava/util/Map;
            aload 1 /* bean */
            invokevirtual org.apache.tomcat.util.modeler.ManagedBean.getType:()Ljava/lang/String;
            aload 1 /* bean */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 324
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.tomcat.util.modeler.ManagedBean bean
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/tomcat/util/modeler/Registry;
            0    4     1  bean  Lorg/apache/tomcat/util/modeler/ManagedBean;
    MethodParameters:
      Name  Flags
      bean  

  public org.apache.tomcat.util.modeler.ManagedBean findManagedBean(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/modeler/ManagedBean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.String name
         0: .line 338
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.descriptors:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.modeler.ManagedBean
            astore 2 /* mb */
        start local 2 // org.apache.tomcat.util.modeler.ManagedBean mb
         1: .line 339
            aload 2 /* mb */
            ifnonnull 3
         2: .line 340
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.descriptorsByClass:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.modeler.ManagedBean
            astore 2 /* mb */
         3: .line 341
      StackMap locals: org.apache.tomcat.util.modeler.ManagedBean
      StackMap stack:
            aload 2 /* mb */
            areturn
        end local 2 // org.apache.tomcat.util.modeler.ManagedBean mb
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/tomcat/util/modeler/Registry;
            0    4     1  name  Ljava/lang/String;
            1    4     2    mb  Lorg/apache/tomcat/util/modeler/ManagedBean;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getType(javax.management.ObjectName, java.lang.String);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=3
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // javax.management.ObjectName oname
        start local 2 // java.lang.String attName
         0: .line 356
            aconst_null
            astore 3 /* type */
        start local 3 // java.lang.String type
         1: .line 357
            aconst_null
            astore 4 /* info */
        start local 4 // javax.management.MBeanInfo info
         2: .line 359
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.modeler.Registry.getMBeanServer:()Ljavax/management/MBeanServer;
            aload 1 /* oname */
            invokeinterface javax.management.MBeanServer.getMBeanInfo:(Ljavax/management/ObjectName;)Ljavax/management/MBeanInfo;
            astore 4 /* info */
         3: .line 360
            goto 7
      StackMap locals: org.apache.tomcat.util.modeler.Registry javax.management.ObjectName java.lang.String java.lang.String javax.management.MBeanInfo
      StackMap stack: java.lang.Exception
         4: pop
         5: .line 361
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "registry.noMetadata"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* oname */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
         6: .line 362
            aconst_null
            areturn
         7: .line 365
      StackMap locals:
      StackMap stack:
            aload 4 /* info */
            invokevirtual javax.management.MBeanInfo.getAttributes:()[Ljavax/management/MBeanAttributeInfo;
            astore 5 /* attInfo */
        start local 5 // javax.management.MBeanAttributeInfo[] attInfo
         8: .line 366
            aload 5 /* attInfo */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 14
      StackMap locals: org.apache.tomcat.util.modeler.Registry javax.management.ObjectName java.lang.String java.lang.String javax.management.MBeanInfo javax.management.MBeanAttributeInfo[] top int int javax.management.MBeanAttributeInfo[]
      StackMap stack:
         9: aload 9
            iload 7
            aaload
            astore 6 /* mBeanAttributeInfo */
        start local 6 // javax.management.MBeanAttributeInfo mBeanAttributeInfo
        10: .line 367
            aload 2 /* attName */
            aload 6 /* mBeanAttributeInfo */
            invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 368
            aload 6 /* mBeanAttributeInfo */
            invokevirtual javax.management.MBeanAttributeInfo.getType:()Ljava/lang/String;
            astore 3 /* type */
        12: .line 369
            aload 3 /* type */
            areturn
        end local 6 // javax.management.MBeanAttributeInfo mBeanAttributeInfo
        13: .line 366
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        14: iload 7
            iload 8
            if_icmplt 9
        15: .line 372
            aconst_null
            areturn
        end local 5 // javax.management.MBeanAttributeInfo[] attInfo
        end local 4 // javax.management.MBeanInfo info
        end local 3 // java.lang.String type
        end local 2 // java.lang.String attName
        end local 1 // javax.management.ObjectName oname
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/apache/tomcat/util/modeler/Registry;
            0   16     1               oname  Ljavax/management/ObjectName;
            0   16     2             attName  Ljava/lang/String;
            1   16     3                type  Ljava/lang/String;
            2   16     4                info  Ljavax/management/MBeanInfo;
            8   16     5             attInfo  [Ljavax/management/MBeanAttributeInfo;
           10   13     6  mBeanAttributeInfo  Ljavax/management/MBeanAttributeInfo;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      oname    
      attName  

  public javax.management.MBeanOperationInfo getMethodInfo(javax.management.ObjectName, java.lang.String);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;)Ljavax/management/MBeanOperationInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // javax.management.ObjectName oname
        start local 2 // java.lang.String opName
         0: .line 384
            aconst_null
            astore 3 /* info */
        start local 3 // javax.management.MBeanInfo info
         1: .line 386
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.modeler.Registry.getMBeanServer:()Ljavax/management/MBeanServer;
            aload 1 /* oname */
            invokeinterface javax.management.MBeanServer.getMBeanInfo:(Ljavax/management/ObjectName;)Ljavax/management/MBeanInfo;
            astore 3 /* info */
         2: .line 387
            goto 6
      StackMap locals: org.apache.tomcat.util.modeler.Registry javax.management.ObjectName java.lang.String javax.management.MBeanInfo
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 388
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "registry.noMetadata"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* oname */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
         5: .line 389
            aconst_null
            areturn
         6: .line 391
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            invokevirtual javax.management.MBeanInfo.getOperations:()[Ljavax/management/MBeanOperationInfo;
            astore 4 /* attInfo */
        start local 4 // javax.management.MBeanOperationInfo[] attInfo
         7: .line 392
            aload 4 /* attInfo */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 12
      StackMap locals: org.apache.tomcat.util.modeler.Registry javax.management.ObjectName java.lang.String javax.management.MBeanInfo javax.management.MBeanOperationInfo[] top int int javax.management.MBeanOperationInfo[]
      StackMap stack:
         8: aload 8
            iload 6
            aaload
            astore 5 /* mBeanOperationInfo */
        start local 5 // javax.management.MBeanOperationInfo mBeanOperationInfo
         9: .line 393
            aload 2 /* opName */
            aload 5 /* mBeanOperationInfo */
            invokevirtual javax.management.MBeanOperationInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 394
            aload 5 /* mBeanOperationInfo */
            areturn
        end local 5 // javax.management.MBeanOperationInfo mBeanOperationInfo
        11: .line 392
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        12: iload 6
            iload 7
            if_icmplt 8
        13: .line 397
            aconst_null
            areturn
        end local 4 // javax.management.MBeanOperationInfo[] attInfo
        end local 3 // javax.management.MBeanInfo info
        end local 2 // java.lang.String opName
        end local 1 // javax.management.ObjectName oname
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                this  Lorg/apache/tomcat/util/modeler/Registry;
            0   14     1               oname  Ljavax/management/ObjectName;
            0   14     2              opName  Ljava/lang/String;
            1   14     3                info  Ljavax/management/MBeanInfo;
            7   14     4             attInfo  [Ljavax/management/MBeanOperationInfo;
            9   11     5  mBeanOperationInfo  Ljavax/management/MBeanOperationInfo;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    MethodParameters:
        Name  Flags
      oname   
      opName  

  public javax.management.MBeanOperationInfo getMethodInfo(javax.management.ObjectName, java.lang.String, int);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;I)Ljavax/management/MBeanOperationInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // javax.management.ObjectName oname
        start local 2 // java.lang.String opName
        start local 3 // int argCount
         0: .line 412
            aconst_null
            astore 4 /* info */
        start local 4 // javax.management.MBeanInfo info
         1: .line 414
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.modeler.Registry.getMBeanServer:()Ljavax/management/MBeanServer;
            aload 1 /* oname */
            invokeinterface javax.management.MBeanServer.getMBeanInfo:(Ljavax/management/ObjectName;)Ljavax/management/MBeanInfo;
            astore 4 /* info */
         2: .line 415
            goto 8
      StackMap locals: org.apache.tomcat.util.modeler.Registry javax.management.ObjectName java.lang.String int javax.management.MBeanInfo
      StackMap stack: javax.management.InstanceNotFoundException
         3: astore 5 /* infe */
        start local 5 // javax.management.InstanceNotFoundException infe
         4: .line 416
            aload 5 /* infe */
            athrow
        end local 5 // javax.management.InstanceNotFoundException infe
         5: .line 417
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
         6: .line 418
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "registry.noMetadata"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* oname */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 5 /* e */
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         7: .line 419
            aconst_null
            areturn
        end local 5 // java.lang.Exception e
         8: .line 421
      StackMap locals:
      StackMap stack:
            aload 4 /* info */
            invokevirtual javax.management.MBeanInfo.getOperations:()[Ljavax/management/MBeanOperationInfo;
            astore 5 /* attInfo */
        start local 5 // javax.management.MBeanOperationInfo[] attInfo
         9: .line 422
            aload 5 /* attInfo */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 15
      StackMap locals: org.apache.tomcat.util.modeler.Registry javax.management.ObjectName java.lang.String int javax.management.MBeanInfo javax.management.MBeanOperationInfo[] top int int javax.management.MBeanOperationInfo[]
      StackMap stack:
        10: aload 9
            iload 7
            aaload
            astore 6 /* mBeanOperationInfo */
        start local 6 // javax.management.MBeanOperationInfo mBeanOperationInfo
        11: .line 423
            aload 2 /* opName */
            aload 6 /* mBeanOperationInfo */
            invokevirtual javax.management.MBeanOperationInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 424
            iload 3 /* argCount */
            aload 6 /* mBeanOperationInfo */
            invokevirtual javax.management.MBeanOperationInfo.getSignature:()[Ljavax/management/MBeanParameterInfo;
            arraylength
            if_icmpne 14
        13: .line 425
            aload 6 /* mBeanOperationInfo */
            areturn
        end local 6 // javax.management.MBeanOperationInfo mBeanOperationInfo
        14: .line 422
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        15: iload 7
            iload 8
            if_icmplt 10
        16: .line 428
            aconst_null
            areturn
        end local 5 // javax.management.MBeanOperationInfo[] attInfo
        end local 4 // javax.management.MBeanInfo info
        end local 3 // int argCount
        end local 2 // java.lang.String opName
        end local 1 // javax.management.ObjectName oname
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                this  Lorg/apache/tomcat/util/modeler/Registry;
            0   17     1               oname  Ljavax/management/ObjectName;
            0   17     2              opName  Ljava/lang/String;
            0   17     3            argCount  I
            1   17     4                info  Ljavax/management/MBeanInfo;
            4    5     5                infe  Ljavax/management/InstanceNotFoundException;
            6    8     5                   e  Ljava/lang/Exception;
            9   17     5             attInfo  [Ljavax/management/MBeanOperationInfo;
           11   14     6  mBeanOperationInfo  Ljavax/management/MBeanOperationInfo;
      Exception table:
        from    to  target  type
           1     2       3  Class javax.management.InstanceNotFoundException
           1     2       5  Class java.lang.Exception
    Exceptions:
      throws javax.management.InstanceNotFoundException
    MethodParameters:
          Name  Flags
      oname     
      opName    
      argCount  

  public void unregisterComponent(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // javax.management.ObjectName oname
         0: .line 439
            aload 1 /* oname */
            ifnull 5
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.modeler.Registry.getMBeanServer:()Ljavax/management/MBeanServer;
            aload 1 /* oname */
            invokeinterface javax.management.MBeanServer.isRegistered:(Ljavax/management/ObjectName;)Z
            ifeq 5
         1: .line 440
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.modeler.Registry.getMBeanServer:()Ljavax/management/MBeanServer;
            aload 1 /* oname */
            invokeinterface javax.management.MBeanServer.unregisterMBean:(Ljavax/management/ObjectName;)V
         2: .line 442
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2 /* t */
        start local 2 // java.lang.Throwable t
         4: .line 443
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "registry.unregisterError"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* t */
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 2 // java.lang.Throwable t
         5: .line 445
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.management.ObjectName oname
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/tomcat/util/modeler/Registry;
            0    6     1  oname  Ljavax/management/ObjectName;
            4    5     2      t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Throwable
    MethodParameters:
       Name  Flags
      oname  

  public javax.management.MBeanServer getMBeanServer();
    descriptor: ()Ljavax/management/MBeanServer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.apache.tomcat.util.modeler.Registry this
         0: .line 455
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.server:Ljavax/management/MBeanServer;
            ifnonnull 16
         1: .line 456
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.serverLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         2: .line 457
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.server:Ljavax/management/MBeanServer;
            ifnonnull 12
         3: .line 458
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* t1 */
        start local 2 // long t1
         4: .line 459
            aconst_null
            invokestatic javax.management.MBeanServerFactory.findMBeanServer:(Ljava/lang/String;)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifle 9
         5: .line 460
            aload 0 /* this */
            aconst_null
            invokestatic javax.management.MBeanServerFactory.findMBeanServer:(Ljava/lang/String;)Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast javax.management.MBeanServer
            putfield org.apache.tomcat.util.modeler.Registry.server:Ljavax/management/MBeanServer;
         6: .line 461
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 12
         7: .line 462
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Using existing MBeanServer "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 2 /* t1 */
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         8: .line 464
            goto 12
         9: .line 465
      StackMap locals: java.lang.Object long
      StackMap stack:
            aload 0 /* this */
            invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
            putfield org.apache.tomcat.util.modeler.Registry.server:Ljavax/management/MBeanServer;
        10: .line 466
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 12
        11: .line 467
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Creating MBeanServer"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 2 /* t1 */
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        end local 2 // long t1
        12: .line 456
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 1
            monitorexit
        15: athrow
        16: .line 473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.server:Ljavax/management/MBeanServer;
            areturn
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/apache/tomcat/util/modeler/Registry;
            4   12     2    t1  J
      Exception table:
        from    to  target  type
           2    13      14  any
          14    15      14  any

  public org.apache.tomcat.util.modeler.ManagedBean findManagedBean(, java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Lorg/apache/tomcat/util/modeler/ManagedBean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.Object bean
        start local 2 // java.lang.Class beanClass
        start local 3 // java.lang.String type
         0: .line 489
            aload 1 /* bean */
            ifnull 2
            aload 2 /* beanClass */
            ifnonnull 2
         1: .line 490
            aload 1 /* bean */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* beanClass */
         2: .line 493
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            ifnonnull 4
         3: .line 494
            aload 2 /* beanClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* type */
         4: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* type */
            invokevirtual org.apache.tomcat.util.modeler.Registry.findManagedBean:(Ljava/lang/String;)Lorg/apache/tomcat/util/modeler/ManagedBean;
            astore 4 /* managed */
        start local 4 // org.apache.tomcat.util.modeler.ManagedBean managed
         5: .line 501
            aload 4 /* managed */
            ifnonnull 10
         6: .line 503
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 8
         7: .line 504
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            ldc "Looking for descriptor "
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         8: .line 506
      StackMap locals: org.apache.tomcat.util.modeler.ManagedBean
      StackMap stack:
            aload 0 /* this */
            aload 2 /* beanClass */
            aload 3 /* type */
            invokevirtual org.apache.tomcat.util.modeler.Registry.findDescriptor:(Ljava/lang/Class;Ljava/lang/String;)V
         9: .line 508
            aload 0 /* this */
            aload 3 /* type */
            invokevirtual org.apache.tomcat.util.modeler.Registry.findManagedBean:(Ljava/lang/String;)Lorg/apache/tomcat/util/modeler/ManagedBean;
            astore 4 /* managed */
        10: .line 512
      StackMap locals:
      StackMap stack:
            aload 4 /* managed */
            ifnonnull 20
        11: .line 513
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 13
        12: .line 514
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            ldc "Introspecting "
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        13: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "MbeansDescriptorsIntrospectionSource"
            aload 2 /* beanClass */
            aload 3 /* type */
            invokevirtual org.apache.tomcat.util.modeler.Registry.load:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Ljava/util/List;
            pop
        14: .line 520
            aload 0 /* this */
            aload 3 /* type */
            invokevirtual org.apache.tomcat.util.modeler.Registry.findManagedBean:(Ljava/lang/String;)Lorg/apache/tomcat/util/modeler/ManagedBean;
            astore 4 /* managed */
        15: .line 521
            aload 4 /* managed */
            ifnonnull 18
        16: .line 522
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "registry.noTypeMetadata"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* type */
            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
        17: .line 523
            aconst_null
            areturn
        18: .line 525
      StackMap locals:
      StackMap stack:
            aload 4 /* managed */
            aload 3 /* type */
            invokevirtual org.apache.tomcat.util.modeler.ManagedBean.setName:(Ljava/lang/String;)V
        19: .line 526
            aload 0 /* this */
            aload 4 /* managed */
            invokevirtual org.apache.tomcat.util.modeler.Registry.addManagedBean:(Lorg/apache/tomcat/util/modeler/ManagedBean;)V
        20: .line 528
      StackMap locals:
      StackMap stack:
            aload 4 /* managed */
            areturn
        end local 4 // org.apache.tomcat.util.modeler.ManagedBean managed
        end local 3 // java.lang.String type
        end local 2 // java.lang.Class beanClass
        end local 1 // java.lang.Object bean
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lorg/apache/tomcat/util/modeler/Registry;
            0   21     1       bean  Ljava/lang/Object;
            0   21     2  beanClass  Ljava/lang/Class<*>;
            0   21     3       type  Ljava/lang/String;
            5   21     4    managed  Lorg/apache/tomcat/util/modeler/ManagedBean;
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;Ljava/lang/String;)Lorg/apache/tomcat/util/modeler/ManagedBean;
    MethodParameters:
           Name  Flags
      bean       
      beanClass  
      type       

  public java.lang.Object convertValue(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.String type
        start local 2 // java.lang.String value
         0: .line 542
            aload 2 /* value */
            astore 3 /* objValue */
        start local 3 // java.lang.Object objValue
         1: .line 544
            aload 1 /* type */
            ifnull 2
            ldc "java.lang.String"
            aload 1 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 546
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* value */
            astore 3 /* objValue */
         3: .line 547
            goto 17
      StackMap locals:
      StackMap stack:
         4: ldc "javax.management.ObjectName"
            aload 1 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            ldc "ObjectName"
            aload 1 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         5: .line 549
      StackMap locals:
      StackMap stack:
            new javax.management.ObjectName
            dup
            aload 2 /* value */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 3 /* objValue */
         6: .line 550
            goto 17
      StackMap locals:
      StackMap stack: javax.management.MalformedObjectNameException
         7: pop
         8: .line 551
            aconst_null
            areturn
         9: .line 553
      StackMap locals:
      StackMap stack:
            ldc "java.lang.Integer"
            aload 1 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            ldc "int"
            aload 1 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 554
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            astore 3 /* objValue */
        11: .line 555
            goto 17
      StackMap locals:
      StackMap stack:
        12: ldc "java.lang.Long"
            aload 1 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            ldc "long"
            aload 1 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 556
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
            astore 3 /* objValue */
        14: .line 557
            goto 17
      StackMap locals:
      StackMap stack:
        15: ldc "java.lang.Boolean"
            aload 1 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            ldc "boolean"
            aload 1 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 558
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            astore 3 /* objValue */
        17: .line 560
      StackMap locals:
      StackMap stack:
            aload 3 /* objValue */
            areturn
        end local 3 // java.lang.Object objValue
        end local 2 // java.lang.String value
        end local 1 // java.lang.String type
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lorg/apache/tomcat/util/modeler/Registry;
            0   18     1      type  Ljava/lang/String;
            0   18     2     value  Ljava/lang/String;
            1   18     3  objValue  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           5     6       7  Class javax.management.MalformedObjectNameException
    MethodParameters:
       Name  Flags
      type   
      value  

  public java.util.List<javax.management.ObjectName> load(java.lang.String, , java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.String sourceType
        start local 2 // java.lang.Object source
        start local 3 // java.lang.String param
         0: .line 574
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
            ifeq 2
         1: .line 575
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "load "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* source */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
         2: .line 577
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* location */
        start local 4 // java.lang.String location
         3: .line 578
            aconst_null
            astore 5 /* type */
        start local 5 // java.lang.String type
         4: .line 579
            aconst_null
            astore 6 /* inputsource */
        start local 6 // java.lang.Object inputsource
         5: .line 581
            aload 2 /* source */
            instanceof java.net.URL
            ifeq 13
         6: .line 582
            aload 2 /* source */
            checkcast java.net.URL
            astore 7 /* url */
        start local 7 // java.net.URL url
         7: .line 583
            aload 7 /* url */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            astore 4 /* location */
         8: .line 584
            aload 3 /* param */
            astore 5 /* type */
         9: .line 585
            aload 7 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 6 /* inputsource */
        10: .line 586
            aload 1 /* sourceType */
            ifnonnull 30
            aload 4 /* location */
            ldc ".xml"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 30
        11: .line 587
            ldc "MbeansDescriptorsDigesterSource"
            astore 1 /* sourceType */
        end local 7 // java.net.URL url
        12: .line 589
            goto 30
      StackMap locals: java.lang.String java.lang.String java.lang.Object
      StackMap stack:
        13: aload 2 /* source */
            instanceof java.io.File
            ifeq 20
        14: .line 590
            aload 2 /* source */
            checkcast java.io.File
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 4 /* location */
        15: .line 591
            new java.io.FileInputStream
            dup
            aload 2 /* source */
            checkcast java.io.File
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 6 /* inputsource */
        16: .line 592
            aload 3 /* param */
            astore 5 /* type */
        17: .line 593
            aload 1 /* sourceType */
            ifnonnull 30
            aload 4 /* location */
            ldc ".xml"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 30
        18: .line 594
            ldc "MbeansDescriptorsDigesterSource"
            astore 1 /* sourceType */
        19: .line 596
            goto 30
      StackMap locals:
      StackMap stack:
        20: aload 2 /* source */
            instanceof java.io.InputStream
            ifeq 24
        21: .line 597
            aload 3 /* param */
            astore 5 /* type */
        22: .line 598
            aload 2 /* source */
            astore 6 /* inputsource */
        23: .line 599
            goto 30
      StackMap locals:
      StackMap stack:
        24: aload 2 /* source */
            instanceof java.lang.Class
            ifeq 30
        25: .line 600
            aload 2 /* source */
            checkcast java.lang.Class
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* location */
        26: .line 601
            aload 3 /* param */
            astore 5 /* type */
        27: .line 602
            aload 2 /* source */
            astore 6 /* inputsource */
        28: .line 603
            aload 1 /* sourceType */
            ifnonnull 30
        29: .line 604
            ldc "MbeansDescriptorsIntrospectionSource"
            astore 1 /* sourceType */
        30: .line 608
      StackMap locals:
      StackMap stack:
            aload 1 /* sourceType */
            ifnonnull 32
        31: .line 609
            ldc "MbeansDescriptorsDigesterSource"
            astore 1 /* sourceType */
        32: .line 611
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sourceType */
            invokevirtual org.apache.tomcat.util.modeler.Registry.getModelerSource:(Ljava/lang/String;)Lorg/apache/tomcat/util/modeler/modules/ModelerSource;
            astore 7 /* ds */
        start local 7 // org.apache.tomcat.util.modeler.modules.ModelerSource ds
        33: .line 612
            aload 7 /* ds */
            aload 0 /* this */
            aload 5 /* type */
            aload 6 /* inputsource */
            invokevirtual org.apache.tomcat.util.modeler.modules.ModelerSource.loadDescriptors:(Lorg/apache/tomcat/util/modeler/Registry;Ljava/lang/String;Ljava/lang/Object;)Ljava/util/List;
            astore 8 /* mbeans */
        start local 8 // java.util.List mbeans
        34: .line 614
            aload 8 /* mbeans */
            areturn
        end local 8 // java.util.List mbeans
        end local 7 // org.apache.tomcat.util.modeler.modules.ModelerSource ds
        end local 6 // java.lang.Object inputsource
        end local 5 // java.lang.String type
        end local 4 // java.lang.String location
        end local 3 // java.lang.String param
        end local 2 // java.lang.Object source
        end local 1 // java.lang.String sourceType
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   35     0         this  Lorg/apache/tomcat/util/modeler/Registry;
            0   35     1   sourceType  Ljava/lang/String;
            0   35     2       source  Ljava/lang/Object;
            0   35     3        param  Ljava/lang/String;
            3   35     4     location  Ljava/lang/String;
            4   35     5         type  Ljava/lang/String;
            5   35     6  inputsource  Ljava/lang/Object;
            7   12     7          url  Ljava/net/URL;
           33   35     7           ds  Lorg/apache/tomcat/util/modeler/modules/ModelerSource;
           34   35     8       mbeans  Ljava/util/List<Ljavax/management/ObjectName;>;
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Ljava/util/List<Ljavax/management/ObjectName;>;
    MethodParameters:
            Name  Flags
      sourceType  
      source      
      param       

  public void registerComponent(java.lang.Object, javax.management.ObjectName, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljavax/management/ObjectName;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.Object bean
        start local 2 // javax.management.ObjectName oname
        start local 3 // java.lang.String type
         0: .line 627
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 2
         1: .line 628
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Managed= "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* oname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 631
      StackMap locals:
      StackMap stack:
            aload 1 /* bean */
            ifnonnull 5
         3: .line 632
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "registry.nullBean"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* oname */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
         4: .line 633
            return
         5: .line 637
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            ifnonnull 7
         6: .line 638
            aload 1 /* bean */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* type */
         7: .line 641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 1 /* bean */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 3 /* type */
            invokevirtual org.apache.tomcat.util.modeler.Registry.findManagedBean:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Lorg/apache/tomcat/util/modeler/ManagedBean;
            astore 4 /* managed */
        start local 4 // org.apache.tomcat.util.modeler.ManagedBean managed
         8: .line 644
            aload 4 /* managed */
            aload 1 /* bean */
            invokevirtual org.apache.tomcat.util.modeler.ManagedBean.createMBean:(Ljava/lang/Object;)Ljavax/management/DynamicMBean;
            astore 5 /* mbean */
        start local 5 // javax.management.DynamicMBean mbean
         9: .line 646
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.modeler.Registry.getMBeanServer:()Ljavax/management/MBeanServer;
            aload 2 /* oname */
            invokeinterface javax.management.MBeanServer.isRegistered:(Ljavax/management/ObjectName;)Z
            ifeq 13
        10: .line 647
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 12
        11: .line 648
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Unregistering existing component "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* oname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        12: .line 650
      StackMap locals: org.apache.tomcat.util.modeler.ManagedBean javax.management.DynamicMBean
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.modeler.Registry.getMBeanServer:()Ljavax/management/MBeanServer;
            aload 2 /* oname */
            invokeinterface javax.management.MBeanServer.unregisterMBean:(Ljavax/management/ObjectName;)V
        13: .line 653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.modeler.Registry.getMBeanServer:()Ljavax/management/MBeanServer;
            aload 5 /* mbean */
            aload 2 /* oname */
            invokeinterface javax.management.MBeanServer.registerMBean:(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;
            pop
        end local 5 // javax.management.DynamicMBean mbean
        end local 4 // org.apache.tomcat.util.modeler.ManagedBean managed
        14: .line 654
            goto 18
      StackMap locals: org.apache.tomcat.util.modeler.Registry java.lang.Object javax.management.ObjectName java.lang.String
      StackMap stack: java.lang.Exception
        15: astore 4 /* ex */
        start local 4 // java.lang.Exception ex
        16: .line 655
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "registry.registerError"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* oname */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 4 /* ex */
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        17: .line 656
            aload 4 /* ex */
            athrow
        end local 4 // java.lang.Exception ex
        18: .line 658
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String type
        end local 2 // javax.management.ObjectName oname
        end local 1 // java.lang.Object bean
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lorg/apache/tomcat/util/modeler/Registry;
            0   19     1     bean  Ljava/lang/Object;
            0   19     2    oname  Ljavax/management/ObjectName;
            0   19     3     type  Ljava/lang/String;
            8   14     4  managed  Lorg/apache/tomcat/util/modeler/ManagedBean;
            9   14     5    mbean  Ljavax/management/DynamicMBean;
           16   18     4       ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5    14      15  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      bean   
      oname  
      type   

  public void loadDescriptors(java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.String packageName
        start local 2 // java.lang.ClassLoader classLoader
         0: .line 669
            aload 1 /* packageName */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 3 /* res */
        start local 3 // java.lang.String res
         1: .line 671
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
            ifeq 3
         2: .line 672
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Finding descriptor "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* res */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
         3: .line 675
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.searchedPaths:Ljava/util/Map;
            aload 1 /* packageName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 5
         4: .line 676
            return
         5: .line 679
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* res */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/mbeans-descriptors.xml"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* descriptors */
        start local 4 // java.lang.String descriptors
         6: .line 680
            aload 2 /* classLoader */
            aload 4 /* descriptors */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 5 /* dURL */
        start local 5 // java.net.URL dURL
         7: .line 682
            aload 5 /* dURL */
            ifnonnull 9
         8: .line 683
            return
         9: .line 686
      StackMap locals: java.lang.String java.net.URL
      StackMap stack:
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* dURL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        10: .line 687
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.searchedPaths:Ljava/util/Map;
            aload 1 /* packageName */
            aload 5 /* dURL */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 689
            aload 0 /* this */
            ldc "MbeansDescriptorsDigesterSource"
            aload 5 /* dURL */
            aconst_null
            invokevirtual org.apache.tomcat.util.modeler.Registry.load:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Ljava/util/List;
            pop
        12: .line 690
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Exception
        13: pop
        14: .line 691
            getstatic org.apache.tomcat.util.modeler.Registry.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.modeler.Registry.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "registry.loadError"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* dURL */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
        15: .line 693
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.net.URL dURL
        end local 4 // java.lang.String descriptors
        end local 3 // java.lang.String res
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // java.lang.String packageName
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lorg/apache/tomcat/util/modeler/Registry;
            0   16     1  packageName  Ljava/lang/String;
            0   16     2  classLoader  Ljava/lang/ClassLoader;
            1   16     3          res  Ljava/lang/String;
            6   16     4  descriptors  Ljava/lang/String;
            7   16     5         dURL  Ljava/net/URL;
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.Exception
    MethodParameters:
             Name  Flags
      packageName  
      classLoader  

  private void findDescriptor(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.Class beanClass
        start local 2 // java.lang.String type
         0: .line 701
            aload 2 /* type */
            ifnonnull 2
         1: .line 702
            aload 1 /* beanClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* type */
         2: .line 704
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* classLoader */
        start local 3 // java.lang.ClassLoader classLoader
         3: .line 705
            aload 1 /* beanClass */
            ifnull 5
         4: .line 706
            aload 1 /* beanClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* classLoader */
         5: .line 708
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 3 /* classLoader */
            ifnonnull 7
         6: .line 709
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* classLoader */
         7: .line 711
      StackMap locals:
      StackMap stack:
            aload 3 /* classLoader */
            ifnonnull 9
         8: .line 712
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* classLoader */
         9: .line 715
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            astore 4 /* className */
        start local 4 // java.lang.String className
        10: .line 716
            aload 4 /* className */
            astore 5 /* pkg */
        start local 5 // java.lang.String pkg
        11: .line 717
            goto 19
        12: .line 718
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 5 /* pkg */
            ldc "."
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 6 /* lastComp */
        start local 6 // int lastComp
        13: .line 719
            iload 6 /* lastComp */
            ifgt 15
        14: .line 720
            return
        15: .line 721
      StackMap locals: int
      StackMap stack:
            aload 5 /* pkg */
            iconst_0
            iload 6 /* lastComp */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* pkg */
        16: .line 722
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.searchedPaths:Ljava/util/Map;
            aload 5 /* pkg */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 18
        17: .line 723
            return
        18: .line 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* pkg */
            aload 3 /* classLoader */
            invokevirtual org.apache.tomcat.util.modeler.Registry.loadDescriptors:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
        end local 6 // int lastComp
        19: .line 717
      StackMap locals:
      StackMap stack:
            aload 5 /* pkg */
            ldc "."
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ifgt 12
        20: .line 727
            return
        end local 5 // java.lang.String pkg
        end local 4 // java.lang.String className
        end local 3 // java.lang.ClassLoader classLoader
        end local 2 // java.lang.String type
        end local 1 // java.lang.Class beanClass
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/apache/tomcat/util/modeler/Registry;
            0   21     1    beanClass  Ljava/lang/Class<*>;
            0   21     2         type  Ljava/lang/String;
            3   21     3  classLoader  Ljava/lang/ClassLoader;
           10   21     4    className  Ljava/lang/String;
           11   21     5          pkg  Ljava/lang/String;
           13   19     6     lastComp  I
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)V
    MethodParameters:
           Name  Flags
      beanClass  
      type       

  private org.apache.tomcat.util.modeler.modules.ModelerSource getModelerSource(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/modeler/modules/ModelerSource;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.String type
         0: .line 731
            aload 1 /* type */
            ifnonnull 2
         1: .line 732
            ldc "MbeansDescriptorsDigesterSource"
            astore 1 /* type */
         2: .line 733
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc "."
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 4
         3: .line 734
            new java.lang.StringBuilder
            dup
            ldc "org.apache.tomcat.util.modeler.modules."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* type */
         4: .line 737
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* c */
        start local 2 // java.lang.Class c
         5: .line 738
            aload 2 /* c */
            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.tomcat.util.modeler.modules.ModelerSource
            astore 3 /* ds */
        start local 3 // org.apache.tomcat.util.modeler.modules.ModelerSource ds
         6: .line 739
            aload 3 /* ds */
            areturn
        end local 3 // org.apache.tomcat.util.modeler.modules.ModelerSource ds
        end local 2 // java.lang.Class c
        end local 1 // java.lang.String type
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/tomcat/util/modeler/Registry;
            0    7     1  type  Ljava/lang/String;
            5    7     2     c  Ljava/lang/Class<*>;
            6    7     3    ds  Lorg/apache/tomcat/util/modeler/modules/ModelerSource;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      type  

  public javax.management.ObjectName preRegister(javax.management.MBeanServer, javax.management.ObjectName);
    descriptor: (Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)Ljavax/management/ObjectName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // javax.management.MBeanServer server
        start local 2 // javax.management.ObjectName name
         0: .line 747
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.Registry.serverLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 748
            aload 0 /* this */
            aload 1 /* server */
            putfield org.apache.tomcat.util.modeler.Registry.server:Ljavax/management/MBeanServer;
         2: .line 747
            aload 3
            monitorexit
         3: goto 6
      StackMap locals: org.apache.tomcat.util.modeler.Registry javax.management.MBeanServer javax.management.ObjectName java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
         6: .line 750
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            areturn
        end local 2 // javax.management.ObjectName name
        end local 1 // javax.management.MBeanServer server
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/tomcat/util/modeler/Registry;
            0    7     1  server  Ljavax/management/MBeanServer;
            0    7     2    name  Ljavax/management/ObjectName;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      server  
      name    

  public void postRegister(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.modeler.Registry this
        start local 1 // java.lang.Boolean registrationDone
         0: .line 756
            return
        end local 1 // java.lang.Boolean registrationDone
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/apache/tomcat/util/modeler/Registry;
            0    1     1  registrationDone  Ljava/lang/Boolean;
    MethodParameters:
                  Name  Flags
      registrationDone  

  public void preDeregister();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.modeler.Registry this
         0: .line 761
            return
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/modeler/Registry;
    Exceptions:
      throws java.lang.Exception

  public void postDeregister();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.modeler.Registry this
         0: .line 766
            return
        end local 0 // org.apache.tomcat.util.modeler.Registry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/modeler/Registry;
}
SourceFile: "Registry.java"