public class org.apache.catalina.deploy.NamingResourcesImpl extends org.apache.catalina.util.LifecycleMBeanBase implements java.io.Serializable, org.apache.tomcat.util.descriptor.web.NamingResources
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.deploy.NamingResourcesImpl
  super_class: org.apache.catalina.util.LifecycleMBeanBase
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  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 volatile boolean resourceRequireExplicitRegistration;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

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

  private final java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextEjb> ejbs;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextEjb;>;

  private final java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextEnvironment> envs;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;>;

  private final java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextLocalEjb> localEjbs;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextLocalEjb;>;

  private final java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.MessageDestinationRef> mdrs;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;>;

  private final java.util.HashMap<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef> resourceEnvRefs;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;>;

  private final java.util.HashMap<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextResource> resources;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextResource;>;

  private final java.util.HashMap<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextResourceLink> resourceLinks;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;>;

  private final java.util.HashMap<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextService> services;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextService;>;

  private org.apache.tomcat.util.descriptor.web.ContextTransaction transaction;
    descriptor: Lorg/apache/tomcat/util/descriptor/web/ContextTransaction;
    flags: (0x0002) ACC_PRIVATE

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

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 85
            aload 0 /* this */
            invokespecial org.apache.catalina.util.LifecycleMBeanBase.<init>:()V
         1: .line 77
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.deploy.NamingResourcesImpl.resourceRequireExplicitRegistration:Z
         2: .line 96
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
         3: .line 102
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
         4: .line 108
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.catalina.deploy.NamingResourcesImpl.ejbs:Ljava/util/Map;
         5: .line 114
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
         6: .line 121
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.catalina.deploy.NamingResourcesImpl.localEjbs:Ljava/util/Map;
         7: .line 128
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.catalina.deploy.NamingResourcesImpl.mdrs:Ljava/util/Map;
         8: .line 135
            aload 0 /* this */
         9: .line 136
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.catalina.deploy.NamingResourcesImpl.resourceEnvRefs:Ljava/util/HashMap;
        10: .line 142
            aload 0 /* this */
        11: .line 143
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
        12: .line 149
            aload 0 /* this */
        13: .line 150
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
        14: .line 156
            aload 0 /* this */
        15: .line 157
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.catalina.deploy.NamingResourcesImpl.services:Ljava/util/HashMap;
        16: .line 163
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.deploy.NamingResourcesImpl.transaction:Lorg/apache/tomcat/util/descriptor/web/ContextTransaction;
        17: .line 169
            aload 0 /* this */
        18: .line 170
            new java.beans.PropertyChangeSupport
            dup
            aload 0 /* this */
            invokespecial java.beans.PropertyChangeSupport.<init>:(Ljava/lang/Object;)V
            putfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
        19: .line 87
            return
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;

  public java.lang.Object getContainer();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 181
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            areturn
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;

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

  public void setTransaction(org.apache.tomcat.util.descriptor.web.ContextTransaction);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextTransaction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextTransaction transaction
         0: .line 199
            aload 0 /* this */
            aload 1 /* transaction */
            putfield org.apache.catalina.deploy.NamingResourcesImpl.transaction:Lorg/apache/tomcat/util/descriptor/web/ContextTransaction;
         1: .line 200
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextTransaction transaction
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0    2     1  transaction  Lorg/apache/tomcat/util/descriptor/web/ContextTransaction;
    MethodParameters:
             Name  Flags
      transaction  

  public org.apache.tomcat.util.descriptor.web.ContextTransaction getTransaction();
    descriptor: ()Lorg/apache/tomcat/util/descriptor/web/ContextTransaction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 207
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.transaction:Lorg/apache/tomcat/util/descriptor/web/ContextTransaction;
            areturn
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;

  public void addEjb(org.apache.tomcat.util.descriptor.web.ContextEjb);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextEjb;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextEjb ejb
         0: .line 219
            aload 1 /* ejb */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getLink:()Ljava/lang/String;
            astore 2 /* ejbLink */
        start local 2 // java.lang.String ejbLink
         1: .line 220
            aload 1 /* ejb */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getLookupName:()Ljava/lang/String;
            astore 3 /* lookupName */
        start local 3 // java.lang.String lookupName
         2: .line 222
            aload 2 /* ejbLink */
            ifnull 6
            aload 2 /* ejbLink */
            invokevirtual java.lang.String.length:()I
            ifle 6
            aload 3 /* lookupName */
            ifnull 6
            aload 3 /* lookupName */
            invokevirtual java.lang.String.length:()I
            ifle 6
         3: .line 223
            new java.lang.IllegalArgumentException
            dup
         4: .line 224
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.ejbLookupLink"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ejb */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getName:()Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 223
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 227
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* ejb */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 228
            return
         8: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* ejb */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 233
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.ejbs:Ljava/util/Map;
            dup
            astore 4
            monitorenter
        10: .line 234
            aload 1 /* ejb */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        11: .line 235
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.ejbs:Ljava/util/Map;
            aload 1 /* ejb */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getName:()Ljava/lang/String;
            aload 1 /* ejb */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 233
            aload 4
            monitorexit
        13: goto 16
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextEjb java.lang.String java.lang.String java.util.Map
      StackMap stack: java.lang.Throwable
        14: aload 4
            monitorexit
        15: athrow
        16: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "ejb"
            aconst_null
            aload 1 /* ejb */
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 239
            return
        end local 3 // java.lang.String lookupName
        end local 2 // java.lang.String ejbLink
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextEjb ejb
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   18     1         ejb  Lorg/apache/tomcat/util/descriptor/web/ContextEjb;
            1   18     2     ejbLink  Ljava/lang/String;
            2   18     3  lookupName  Ljava/lang/String;
      Exception table:
        from    to  target  type
          10    13      14  any
          14    15      14  any
    MethodParameters:
      Name  Flags
      ejb   

  public void addEnvironment(org.apache.tomcat.util.descriptor.web.ContextEnvironment);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextEnvironment environment
         0: .line 250
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 16
         1: .line 251
            aload 0 /* this */
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.findEnvironment:(Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
            astore 2 /* ce */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextEnvironment ce
         2: .line 252
            aload 0 /* this */
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.findResourceLink:(Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;
            astore 3 /* rl */
        start local 3 // org.apache.tomcat.util.descriptor.web.ContextResourceLink rl
         3: .line 253
            aload 2 /* ce */
            ifnull 8
         4: .line 254
            aload 2 /* ce */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getOverride:()Z
            ifeq 7
         5: .line 255
            aload 0 /* this */
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.removeEnvironment:(Ljava/lang/String;)V
         6: .line 256
            goto 16
         7: .line 257
      StackMap locals: org.apache.tomcat.util.descriptor.web.ContextEnvironment org.apache.tomcat.util.descriptor.web.ContextResourceLink
      StackMap stack:
            return
         8: .line 259
      StackMap locals:
      StackMap stack:
            aload 3 /* rl */
            ifnull 15
         9: .line 261
            aload 0 /* this */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.getServer:()Lorg/apache/catalina/Server;
            invokeinterface org.apache.catalina.Server.getGlobalNamingResources:()Lorg/apache/catalina/deploy/NamingResourcesImpl;
            astore 4 /* global */
        start local 4 // org.apache.catalina.deploy.NamingResourcesImpl global
        10: .line 262
            aload 4 /* global */
            aload 3 /* rl */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceLink.getGlobal:()Ljava/lang/String;
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.findEnvironment:(Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
            ifnull 16
        11: .line 263
            aload 4 /* global */
            aload 3 /* rl */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceLink.getGlobal:()Ljava/lang/String;
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.findEnvironment:(Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getOverride:()Z
            ifeq 14
        12: .line 264
            aload 0 /* this */
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.removeResourceLink:(Ljava/lang/String;)V
        13: .line 265
            goto 16
        14: .line 266
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl
      StackMap stack:
            return
        end local 4 // org.apache.catalina.deploy.NamingResourcesImpl global
        15: .line 271
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.tomcat.util.descriptor.web.ContextResourceLink rl
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextEnvironment ce
        16: .line 275
      StackMap locals:
      StackMap stack:
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getInjectionTargets:()Ljava/util/List;
            astore 2 /* injectionTargets */
        start local 2 // java.util.List injectionTargets
        17: .line 276
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getValue:()Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
        18: .line 277
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getLookupName:()Ljava/lang/String;
            astore 4 /* lookupName */
        start local 4 // java.lang.String lookupName
        19: .line 280
            aload 2 /* injectionTargets */
            ifnull 22
            aload 2 /* injectionTargets */
            invokeinterface java.util.List.size:()I
            ifle 22
        20: .line 281
            aload 3 /* value */
            ifnull 21
            aload 3 /* value */
            invokevirtual java.lang.String.length:()I
            ifne 22
        21: .line 282
      StackMap locals: java.util.List java.lang.String java.lang.String
      StackMap stack:
            return
        22: .line 286
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            ifnull 26
            aload 3 /* value */
            invokevirtual java.lang.String.length:()I
            ifle 26
            aload 4 /* lookupName */
            ifnull 26
            aload 4 /* lookupName */
            invokevirtual java.lang.String.length:()I
            ifle 26
        23: .line 287
            new java.lang.IllegalArgumentException
            dup
        24: .line 288
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.envEntryLookupValue"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        25: .line 287
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* environment */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.checkResourceType:(Lorg/apache/tomcat/util/descriptor/web/ResourceBase;)Z
            ifne 31
        27: .line 292
            new java.lang.IllegalArgumentException
            dup
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
        28: .line 293
            ldc "namingResources.resourceTypeFail"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        29: .line 294
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getType:()Ljava/lang/String;
            aastore
        30: .line 292
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        32: .line 299
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
            dup
            astore 5
            monitorenter
        33: .line 300
            aload 1 /* environment */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        34: .line 301
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            aload 1 /* environment */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 299
            aload 5
            monitorexit
        36: goto 39
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextEnvironment java.util.List java.lang.String java.lang.String java.util.Map
      StackMap stack: java.lang.Throwable
        37: aload 5
            monitorexit
        38: athrow
        39: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "environment"
            aconst_null
            aload 1 /* environment */
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        40: .line 306
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceRequireExplicitRegistration:Z
            ifeq 49
        41: .line 308
            aload 1 /* environment */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.createMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;)Ljavax/management/DynamicMBean;
            pop
        42: .line 309
            goto 49
      StackMap locals:
      StackMap stack: java.lang.Exception
        43: astore 5 /* e */
        start local 5 // java.lang.Exception e
        44: .line 310
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.mbeanCreateFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        45: .line 311
            aload 1 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            aastore
        46: .line 310
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        47: .line 311
            aload 5 /* e */
        48: .line 310
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Exception e
        49: .line 314
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String lookupName
        end local 3 // java.lang.String value
        end local 2 // java.util.List injectionTargets
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextEnvironment environment
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   50     0              this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   50     1       environment  Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
            2   16     2                ce  Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
            3   16     3                rl  Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;
           10   15     4            global  Lorg/apache/catalina/deploy/NamingResourcesImpl;
           17   50     2  injectionTargets  Ljava/util/List<Lorg/apache/tomcat/util/descriptor/web/InjectionTarget;>;
           18   50     3             value  Ljava/lang/String;
           19   50     4        lookupName  Ljava/lang/String;
           44   49     5                 e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          33    36      37  any
          37    38      37  any
          41    42      43  Class java.lang.Exception
    MethodParameters:
             Name  Flags
      environment  

  private org.apache.catalina.Server getServer();
    descriptor: ()Lorg/apache/catalina/Server;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 319
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            instanceof org.apache.catalina.Server
            ifeq 2
         1: .line 320
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            checkcast org.apache.catalina.Server
            areturn
         2: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            instanceof org.apache.catalina.Context
            ifeq 6
         3: .line 325
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            checkcast org.apache.catalina.Context
            invokeinterface org.apache.catalina.Context.getParent:()Lorg/apache/catalina/Container;
            invokeinterface org.apache.catalina.Container.getParent:()Lorg/apache/catalina/Container;
            checkcast org.apache.catalina.Engine
         4: .line 324
            astore 1 /* engine */
        start local 1 // org.apache.catalina.Engine engine
         5: .line 326
            aload 1 /* engine */
            invokeinterface org.apache.catalina.Engine.getService:()Lorg/apache/catalina/Service;
            invokeinterface org.apache.catalina.Service.getServer:()Lorg/apache/catalina/Server;
            areturn
        end local 1 // org.apache.catalina.Engine engine
         6: .line 328
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            5    6     1  engine  Lorg/apache/catalina/Engine;

  public void addLocalEjb(org.apache.tomcat.util.descriptor.web.ContextLocalEjb);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextLocalEjb;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextLocalEjb ejb
         0: .line 338
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* ejb */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 339
            return
         2: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* ejb */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 344
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.localEjbs:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         4: .line 345
            aload 1 /* ejb */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
         5: .line 346
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.localEjbs:Ljava/util/Map;
            aload 1 /* ejb */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getName:()Ljava/lang/String;
            aload 1 /* ejb */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 344
            aload 2
            monitorexit
         7: goto 10
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextLocalEjb java.util.Map
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "localEjb"
            aconst_null
            aload 1 /* ejb */
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 350
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextLocalEjb ejb
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   12     1   ejb  Lorg/apache/tomcat/util/descriptor/web/ContextLocalEjb;
      Exception table:
        from    to  target  type
           4     7       8  any
           8     9       8  any
    MethodParameters:
      Name  Flags
      ejb   

  public void addMessageDestinationRef(org.apache.tomcat.util.descriptor.web.MessageDestinationRef);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef mdr
         0: .line 360
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 361
            return
         2: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* mdr */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.checkResourceType:(Lorg/apache/tomcat/util/descriptor/web/ResourceBase;)Z
            ifne 7
         3: .line 364
            new java.lang.IllegalArgumentException
            dup
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
         4: .line 365
            ldc "namingResources.resourceTypeFail"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         5: .line 366
            aload 1 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getType:()Ljava/lang/String;
            aastore
         6: .line 364
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 371
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.mdrs:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         9: .line 372
            aload 1 /* mdr */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        10: .line 373
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.mdrs:Ljava/util/Map;
            aload 1 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getName:()Ljava/lang/String;
            aload 1 /* mdr */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 371
            aload 2
            monitorexit
        12: goto 15
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.MessageDestinationRef java.util.Map
      StackMap stack: java.lang.Throwable
        13: aload 2
            monitorexit
        14: athrow
        15: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "messageDestinationRef"
            aconst_null
            aload 1 /* mdr */
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 377
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef mdr
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   17     1   mdr  Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;
      Exception table:
        from    to  target  type
           9    12      13  any
          13    14      13  any
    MethodParameters:
      Name  Flags
      mdr   

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

  public void addResource(org.apache.tomcat.util.descriptor.web.ContextResource);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextResource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextResource resource
         0: .line 400
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 401
            return
         2: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resource */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.checkResourceType:(Lorg/apache/tomcat/util/descriptor/web/ResourceBase;)Z
            ifne 7
         3: .line 404
            new java.lang.IllegalArgumentException
            dup
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
         4: .line 405
            ldc "namingResources.resourceTypeFail"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         5: .line 406
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getType:()Ljava/lang/String;
            aastore
         6: .line 404
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 411
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         9: .line 412
            aload 1 /* resource */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        10: .line 413
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            aload 1 /* resource */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 411
            aload 2
            monitorexit
        12: goto 15
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextResource java.util.HashMap
      StackMap stack: java.lang.Throwable
        13: aload 2
            monitorexit
        14: athrow
        15: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "resource"
            aconst_null
            aload 1 /* resource */
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 418
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceRequireExplicitRegistration:Z
            ifeq 25
        17: .line 420
            aload 1 /* resource */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.createMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextResource;)Ljavax/management/DynamicMBean;
            pop
        18: .line 421
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Exception
        19: astore 2 /* e */
        start local 2 // java.lang.Exception e
        20: .line 422
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.mbeanCreateFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        21: .line 423
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            aastore
        22: .line 422
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        23: .line 423
            aload 2 /* e */
        24: .line 422
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 2 // java.lang.Exception e
        25: .line 426
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextResource resource
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   26     1  resource  Lorg/apache/tomcat/util/descriptor/web/ContextResource;
           20   25     2         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    12      13  any
          13    14      13  any
          17    18      19  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      resource  

  public void addResourceEnvRef(org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef resource
         0: .line 436
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 437
            return
         2: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resource */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.checkResourceType:(Lorg/apache/tomcat/util/descriptor/web/ResourceBase;)Z
            ifne 7
         3: .line 440
            new java.lang.IllegalArgumentException
            dup
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
         4: .line 441
            ldc "namingResources.resourceTypeFail"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         5: .line 442
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getType:()Ljava/lang/String;
            aastore
         6: .line 440
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 447
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceEnvRefs:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         9: .line 448
            aload 1 /* resource */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        10: .line 449
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceEnvRefs:Ljava/util/HashMap;
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getName:()Ljava/lang/String;
            aload 1 /* resource */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 447
            aload 2
            monitorexit
        12: goto 15
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef java.util.HashMap
      StackMap stack: java.lang.Throwable
        13: aload 2
            monitorexit
        14: athrow
        15: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "resourceEnvRef"
            aconst_null
            aload 1 /* resource */
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 453
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef resource
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   17     1  resource  Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;
      Exception table:
        from    to  target  type
           9    12      13  any
          13    14      13  any
    MethodParameters:
          Name  Flags
      resource  

  public void addResourceLink(org.apache.tomcat.util.descriptor.web.ContextResourceLink);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextResourceLink resourceLink
         0: .line 464
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* resourceLink */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceLink.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 465
            return
         2: .line 467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* resourceLink */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceLink.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 470
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         4: .line 471
            aload 1 /* resourceLink */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceLink.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
         5: .line 472
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
            aload 1 /* resourceLink */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceLink.getName:()Ljava/lang/String;
            aload 1 /* resourceLink */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 470
            aload 2
            monitorexit
         7: goto 10
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextResourceLink java.util.HashMap
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "resourceLink"
            aconst_null
            aload 1 /* resourceLink */
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 477
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceRequireExplicitRegistration:Z
            ifeq 20
        12: .line 479
            aload 1 /* resourceLink */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.createMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;)Ljavax/management/DynamicMBean;
            pop
        13: .line 480
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Exception
        14: astore 2 /* e */
        start local 2 // java.lang.Exception e
        15: .line 481
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.mbeanCreateFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        16: .line 482
            aload 1 /* resourceLink */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceLink.getName:()Ljava/lang/String;
            aastore
        17: .line 481
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        18: .line 482
            aload 2 /* e */
        19: .line 481
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 2 // java.lang.Exception e
        20: .line 485
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextResourceLink resourceLink
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   21     1  resourceLink  Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;
           15   20     2             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     7       8  any
           8     9       8  any
          12    13      14  Class java.lang.Exception
    MethodParameters:
              Name  Flags
      resourceLink  

  public void addService(org.apache.tomcat.util.descriptor.web.ContextService);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextService;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextService service
         0: .line 495
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* service */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 496
            return
         2: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* service */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 501
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.services:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         4: .line 502
            aload 1 /* service */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
         5: .line 503
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.services:Ljava/util/HashMap;
            aload 1 /* service */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getName:()Ljava/lang/String;
            aload 1 /* service */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 501
            aload 2
            monitorexit
         7: goto 10
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextService java.util.HashMap
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "service"
            aconst_null
            aload 1 /* service */
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 507
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextService service
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   12     1  service  Lorg/apache/tomcat/util/descriptor/web/ContextService;
      Exception table:
        from    to  target  type
           4     7       8  any
           8     9       8  any
    MethodParameters:
         Name  Flags
      service  

  public org.apache.tomcat.util.descriptor.web.ContextEjb findEjb(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextEjb;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 518
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.ejbs:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 519
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.ejbs:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextEjb
            aload 2
            monitorexit
         2: areturn
         3: .line 518
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String java.util.Map
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         4: athrow
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0    5     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    MethodParameters:
      Name  Flags
      name  

  public org.apache.tomcat.util.descriptor.web.ContextEjb[] findEjbs();
    descriptor: ()[Lorg/apache/tomcat/util/descriptor/web/ContextEjb;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 531
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.ejbs:Ljava/util/Map;
            dup
            astore 1
            monitorenter
         1: .line 532
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.ejbs:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            anewarray org.apache.tomcat.util.descriptor.web.ContextEjb
            astore 2 /* results */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextEjb[] results
         2: .line 533
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.ejbs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 2 /* results */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextEjb[]
            aload 1
            monitorexit
         3: areturn
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextEjb[] results
         4: .line 531
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.util.Map
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            2    4     2  results  [Lorg/apache/tomcat/util/descriptor/web/ContextEjb;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public org.apache.tomcat.util.descriptor.web.ContextEnvironment findEnvironment(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 547
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 548
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextEnvironment
            aload 2
            monitorexit
         2: areturn
         3: .line 547
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String java.util.Map
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         4: athrow
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0    5     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    MethodParameters:
      Name  Flags
      name  

  public org.apache.tomcat.util.descriptor.web.ContextEnvironment[] findEnvironments();
    descriptor: ()[Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 561
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
            dup
            astore 1
            monitorenter
         1: .line 562
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            anewarray org.apache.tomcat.util.descriptor.web.ContextEnvironment
            astore 2 /* results */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextEnvironment[] results
         2: .line 563
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 2 /* results */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextEnvironment[]
            aload 1
            monitorexit
         3: areturn
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextEnvironment[] results
         4: .line 561
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.util.Map
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            2    4     2  results  [Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public org.apache.tomcat.util.descriptor.web.ContextLocalEjb findLocalEjb(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextLocalEjb;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 577
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.localEjbs:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 578
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.localEjbs:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextLocalEjb
            aload 2
            monitorexit
         2: areturn
         3: .line 577
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String java.util.Map
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         4: athrow
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0    5     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    MethodParameters:
      Name  Flags
      name  

  public org.apache.tomcat.util.descriptor.web.ContextLocalEjb[] findLocalEjbs();
    descriptor: ()[Lorg/apache/tomcat/util/descriptor/web/ContextLocalEjb;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 590
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.localEjbs:Ljava/util/Map;
            dup
            astore 1
            monitorenter
         1: .line 591
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.localEjbs:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            anewarray org.apache.tomcat.util.descriptor.web.ContextLocalEjb
            astore 2 /* results */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextLocalEjb[] results
         2: .line 592
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.localEjbs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 2 /* results */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextLocalEjb[]
            aload 1
            monitorexit
         3: areturn
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextLocalEjb[] results
         4: .line 590
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.util.Map
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            2    4     2  results  [Lorg/apache/tomcat/util/descriptor/web/ContextLocalEjb;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public org.apache.tomcat.util.descriptor.web.MessageDestinationRef findMessageDestinationRef(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 606
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.mdrs:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 607
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.mdrs:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.MessageDestinationRef
            aload 2
            monitorexit
         2: areturn
         3: .line 606
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String java.util.Map
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         4: athrow
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0    5     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    MethodParameters:
      Name  Flags
      name  

  public org.apache.tomcat.util.descriptor.web.MessageDestinationRef[] findMessageDestinationRefs();
    descriptor: ()[Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 619
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.mdrs:Ljava/util/Map;
            dup
            astore 1
            monitorenter
         1: .line 621
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.mdrs:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            anewarray org.apache.tomcat.util.descriptor.web.MessageDestinationRef
         2: .line 620
            astore 2 /* results */
        start local 2 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef[] results
         3: .line 622
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.mdrs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 2 /* results */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.MessageDestinationRef[]
            aload 1
            monitorexit
         4: areturn
        end local 2 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef[] results
         5: .line 619
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.util.Map
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            3    5     2  results  [Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public org.apache.tomcat.util.descriptor.web.ContextResource findResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 636
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         1: .line 637
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResource
            aload 2
            monitorexit
         2: areturn
         3: .line 636
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         4: athrow
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0    5     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    MethodParameters:
      Name  Flags
      name  

  public org.apache.tomcat.util.descriptor.web.ContextResourceLink findResourceLink(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 651
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         1: .line 652
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResourceLink
            aload 2
            monitorexit
         2: areturn
         3: .line 651
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         4: athrow
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0    5     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    MethodParameters:
      Name  Flags
      name  

  public org.apache.tomcat.util.descriptor.web.ContextResourceLink[] findResourceLinks();
    descriptor: ()[Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 664
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
            dup
            astore 1
            monitorenter
         1: .line 666
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            anewarray org.apache.tomcat.util.descriptor.web.ContextResourceLink
         2: .line 665
            astore 2 /* results */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextResourceLink[] results
         3: .line 667
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            aload 2 /* results */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResourceLink[]
            aload 1
            monitorexit
         4: areturn
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextResourceLink[] results
         5: .line 664
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            3    5     2  results  [Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public org.apache.tomcat.util.descriptor.web.ContextResource[] findResources();
    descriptor: ()[Lorg/apache/tomcat/util/descriptor/web/ContextResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 679
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            dup
            astore 1
            monitorenter
         1: .line 680
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            anewarray org.apache.tomcat.util.descriptor.web.ContextResource
            astore 2 /* results */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextResource[] results
         2: .line 681
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            aload 2 /* results */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResource[]
            aload 1
            monitorexit
         3: areturn
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextResource[] results
         4: .line 679
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            2    4     2  results  [Lorg/apache/tomcat/util/descriptor/web/ContextResource;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef findResourceEnvRef(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 695
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceEnvRefs:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         1: .line 696
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceEnvRefs:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef
            aload 2
            monitorexit
         2: areturn
         3: .line 695
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         4: athrow
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0    5     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    MethodParameters:
      Name  Flags
      name  

  public org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef[] findResourceEnvRefs();
    descriptor: ()[Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 709
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceEnvRefs:Ljava/util/HashMap;
            dup
            astore 1
            monitorenter
         1: .line 710
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceEnvRefs:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            anewarray org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef
            astore 2 /* results */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef[] results
         2: .line 711
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceEnvRefs:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            aload 2 /* results */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef[]
            aload 1
            monitorexit
         3: areturn
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef[] results
         4: .line 709
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            2    4     2  results  [Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public org.apache.tomcat.util.descriptor.web.ContextService findService(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextService;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 725
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.services:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         1: .line 726
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.services:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextService
            aload 2
            monitorexit
         2: areturn
         3: .line 725
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         4: athrow
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0    5     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    MethodParameters:
      Name  Flags
      name  

  public org.apache.tomcat.util.descriptor.web.ContextService[] findServices();
    descriptor: ()[Lorg/apache/tomcat/util/descriptor/web/ContextService;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 738
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.services:Ljava/util/HashMap;
            dup
            astore 1
            monitorenter
         1: .line 739
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.services:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            anewarray org.apache.tomcat.util.descriptor.web.ContextService
            astore 2 /* results */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextService[] results
         2: .line 740
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.services:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            aload 2 /* results */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextService[]
            aload 1
            monitorexit
         3: areturn
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextService[] results
         4: .line 738
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            2    4     2  results  [Lorg/apache/tomcat/util/descriptor/web/ContextService;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public void removeEjb(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 753
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 755
            aconst_null
            astore 2 /* ejb */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextEjb ejb
         2: .line 756
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.ejbs:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         3: .line 757
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.ejbs:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextEjb
            astore 2 /* ejb */
         4: .line 756
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String org.apache.tomcat.util.descriptor.web.ContextEjb java.util.Map
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 759
      StackMap locals:
      StackMap stack:
            aload 2 /* ejb */
            ifnull 11
         9: .line 760
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "ejb"
            aload 2 /* ejb */
            aconst_null
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 761
            aload 2 /* ejb */
            aconst_null
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        11: .line 764
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextEjb ejb
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   12     1  name  Ljava/lang/String;
            2   12     2   ejb  Lorg/apache/tomcat/util/descriptor/web/ContextEjb;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
    MethodParameters:
      Name  Flags
      name  

  public void removeEnvironment(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 775
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 777
            aconst_null
            astore 2 /* environment */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextEnvironment environment
         2: .line 778
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         3: .line 779
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextEnvironment
            astore 2 /* environment */
         4: .line 778
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String org.apache.tomcat.util.descriptor.web.ContextEnvironment java.util.Map
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 781
      StackMap locals:
      StackMap stack:
            aload 2 /* environment */
            ifnull 20
         9: .line 782
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "environment"
            aload 2 /* environment */
            aconst_null
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 784
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceRequireExplicitRegistration:Z
            ifeq 19
        11: .line 786
            aload 2 /* environment */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.destroyMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;)V
        12: .line 787
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Exception
        13: astore 3 /* e */
        start local 3 // java.lang.Exception e
        14: .line 788
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.mbeanDestroyFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        15: .line 789
            aload 2 /* environment */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            aastore
        16: .line 788
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        17: .line 789
            aload 3 /* e */
        18: .line 788
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        19: .line 792
      StackMap locals:
      StackMap stack:
            aload 2 /* environment */
            aconst_null
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        20: .line 794
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextEnvironment environment
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   21     1         name  Ljava/lang/String;
            2   21     2  environment  Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
           14   19     3            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
          11    12      13  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public void removeLocalEjb(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 804
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 806
            aconst_null
            astore 2 /* localEjb */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextLocalEjb localEjb
         2: .line 807
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.localEjbs:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         3: .line 808
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.localEjbs:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextLocalEjb
            astore 2 /* localEjb */
         4: .line 807
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String org.apache.tomcat.util.descriptor.web.ContextLocalEjb java.util.Map
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 810
      StackMap locals:
      StackMap stack:
            aload 2 /* localEjb */
            ifnull 11
         9: .line 811
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "localEjb"
            aload 2 /* localEjb */
            aconst_null
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 812
            aload 2 /* localEjb */
            aconst_null
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        11: .line 815
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextLocalEjb localEjb
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   12     1      name  Ljava/lang/String;
            2   12     2  localEjb  Lorg/apache/tomcat/util/descriptor/web/ContextLocalEjb;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
    MethodParameters:
      Name  Flags
      name  

  public void removeMessageDestinationRef(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 825
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 827
            aconst_null
            astore 2 /* mdr */
        start local 2 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef mdr
         2: .line 828
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.mdrs:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         3: .line 829
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.mdrs:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.MessageDestinationRef
            astore 2 /* mdr */
         4: .line 828
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String org.apache.tomcat.util.descriptor.web.MessageDestinationRef java.util.Map
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 831
      StackMap locals:
      StackMap stack:
            aload 2 /* mdr */
            ifnull 13
         9: .line 832
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "messageDestinationRef"
        10: .line 833
            aload 2 /* mdr */
            aconst_null
        11: .line 832
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 834
            aload 2 /* mdr */
            aconst_null
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        13: .line 837
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef mdr
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   14     1  name  Ljava/lang/String;
            2   14     2   mdr  Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
    MethodParameters:
      Name  Flags
      name  

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

  public void removeResource(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 860
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 862
            aconst_null
            astore 2 /* resource */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextResource resource
         2: .line 863
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         3: .line 864
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResource
            astore 2 /* resource */
         4: .line 863
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String org.apache.tomcat.util.descriptor.web.ContextResource java.util.HashMap
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 866
      StackMap locals:
      StackMap stack:
            aload 2 /* resource */
            ifnull 20
         9: .line 867
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "resource"
            aload 2 /* resource */
            aconst_null
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 869
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceRequireExplicitRegistration:Z
            ifeq 19
        11: .line 871
            aload 2 /* resource */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.destroyMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextResource;)V
        12: .line 872
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Exception
        13: astore 3 /* e */
        start local 3 // java.lang.Exception e
        14: .line 873
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.mbeanDestroyFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        15: .line 874
            aload 2 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            aastore
        16: .line 873
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        17: .line 874
            aload 3 /* e */
        18: .line 873
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        19: .line 877
      StackMap locals:
      StackMap stack:
            aload 2 /* resource */
            aconst_null
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        20: .line 879
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextResource resource
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   21     1      name  Ljava/lang/String;
            2   21     2  resource  Lorg/apache/tomcat/util/descriptor/web/ContextResource;
           14   19     3         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
          11    12      13  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public void removeResourceEnvRef(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 889
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 891
            aconst_null
            astore 2 /* resourceEnvRef */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef resourceEnvRef
         2: .line 892
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceEnvRefs:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         3: .line 894
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceEnvRefs:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef
         4: .line 893
            astore 2 /* resourceEnvRef */
         5: .line 892
            aload 3
            monitorexit
         6: goto 9
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef java.util.HashMap
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
         9: .line 896
      StackMap locals:
      StackMap stack:
            aload 2 /* resourceEnvRef */
            ifnull 12
        10: .line 897
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "resourceEnvRef"
            aload 2 /* resourceEnvRef */
            aconst_null
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 898
            aload 2 /* resourceEnvRef */
            aconst_null
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        12: .line 901
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef resourceEnvRef
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   13     1            name  Ljava/lang/String;
            2   13     2  resourceEnvRef  Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
    MethodParameters:
      Name  Flags
      name  

  public void removeResourceLink(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 912
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 914
            aconst_null
            astore 2 /* resourceLink */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextResourceLink resourceLink
         2: .line 915
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         3: .line 916
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResourceLink
            astore 2 /* resourceLink */
         4: .line 915
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String org.apache.tomcat.util.descriptor.web.ContextResourceLink java.util.HashMap
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 918
      StackMap locals:
      StackMap stack:
            aload 2 /* resourceLink */
            ifnull 20
         9: .line 919
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "resourceLink"
            aload 2 /* resourceLink */
            aconst_null
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 921
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceRequireExplicitRegistration:Z
            ifeq 19
        11: .line 923
            aload 2 /* resourceLink */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.destroyMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;)V
        12: .line 924
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Exception
        13: astore 3 /* e */
        start local 3 // java.lang.Exception e
        14: .line 925
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.mbeanDestroyFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        15: .line 926
            aload 2 /* resourceLink */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceLink.getName:()Ljava/lang/String;
            aastore
        16: .line 925
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        17: .line 926
            aload 3 /* e */
        18: .line 925
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        19: .line 929
      StackMap locals:
      StackMap stack:
            aload 2 /* resourceLink */
            aconst_null
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceLink.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        20: .line 931
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextResourceLink resourceLink
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   21     1          name  Ljava/lang/String;
            2   21     2  resourceLink  Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;
           14   19     3             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
          11    12      13  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  public void removeService(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.String name
         0: .line 941
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.entries:Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 943
            aconst_null
            astore 2 /* service */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextService service
         2: .line 944
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.services:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         3: .line 945
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.services:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextService
            astore 2 /* service */
         4: .line 944
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.String org.apache.tomcat.util.descriptor.web.ContextService java.util.HashMap
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 947
      StackMap locals:
      StackMap stack:
            aload 2 /* service */
            ifnull 11
         9: .line 948
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.support:Ljava/beans/PropertyChangeSupport;
            ldc "service"
            aload 2 /* service */
            aconst_null
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 949
            aload 2 /* service */
            aconst_null
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.setNamingResources:(Lorg/apache/tomcat/util/descriptor/web/NamingResources;)V
        11: .line 952
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextService service
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   12     1     name  Ljava/lang/String;
            2   12     2  service  Lorg/apache/tomcat/util/descriptor/web/ContextService;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
    MethodParameters:
      Name  Flags
      name  

  protected void initInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 959
            aload 0 /* this */
            invokespecial org.apache.catalina.util.LifecycleMBeanBase.initInternal:()V
         1: .line 963
            aload 0 /* this */
            iconst_1
            putfield org.apache.catalina.deploy.NamingResourcesImpl.resourceRequireExplicitRegistration:Z
         2: .line 965
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 12
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl top java.util.Iterator
      StackMap stack:
         3: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResource
            astore 1 /* cr */
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextResource cr
         4: .line 967
            aload 1 /* cr */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.createMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextResource;)Ljavax/management/DynamicMBean;
            pop
         5: .line 968
            goto 12
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextResource java.util.Iterator
      StackMap stack: java.lang.Exception
         6: astore 3 /* e */
        start local 3 // java.lang.Exception e
         7: .line 969
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
         8: .line 970
            ldc "namingResources.mbeanCreateFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* cr */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            aastore
         9: .line 969
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        10: .line 970
            aload 3 /* e */
        11: .line 969
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextResource cr
        12: .line 965
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        13: .line 974
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 23
      StackMap locals:
      StackMap stack:
        14: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextEnvironment
            astore 1 /* ce */
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextEnvironment ce
        15: .line 976
            aload 1 /* ce */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.createMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;)Ljavax/management/DynamicMBean;
            pop
        16: .line 977
            goto 23
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextEnvironment java.util.Iterator
      StackMap stack: java.lang.Exception
        17: astore 3 /* e */
        start local 3 // java.lang.Exception e
        18: .line 978
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
        19: .line 979
            ldc "namingResources.mbeanCreateFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ce */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            aastore
        20: .line 978
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        21: .line 979
            aload 3 /* e */
        22: .line 978
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextEnvironment ce
        23: .line 974
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        24: .line 983
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 34
      StackMap locals:
      StackMap stack:
        25: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResourceLink
            astore 1 /* crl */
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextResourceLink crl
        26: .line 985
            aload 1 /* crl */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.createMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;)Ljavax/management/DynamicMBean;
            pop
        27: .line 986
            goto 34
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextResourceLink java.util.Iterator
      StackMap stack: java.lang.Exception
        28: astore 3 /* e */
        start local 3 // java.lang.Exception e
        29: .line 987
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
        30: .line 988
            ldc "namingResources.mbeanCreateFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* crl */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceLink.getName:()Ljava/lang/String;
            aastore
        31: .line 987
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        32: .line 988
            aload 3 /* e */
        33: .line 987
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextResourceLink crl
        34: .line 983
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        35: .line 991
            return
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   36     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            4   12     1    cr  Lorg/apache/tomcat/util/descriptor/web/ContextResource;
            7   12     3     e  Ljava/lang/Exception;
           15   23     1    ce  Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
           18   23     3     e  Ljava/lang/Exception;
           26   34     1   crl  Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;
           29   34     3     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.Exception
          15    16      17  Class java.lang.Exception
          26    27      28  Class java.lang.Exception
    Exceptions:
      throws org.apache.catalina.LifecycleException

  protected void startInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 996
            aload 0 /* this */
            ldc "configure_start"
            aconst_null
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.fireLifecycleEvent:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 997
            aload 0 /* this */
            getstatic org.apache.catalina.LifecycleState.STARTING:Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.setState:(Lorg/apache/catalina/LifecycleState;)V
         2: .line 998
            return
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
    Exceptions:
      throws org.apache.catalina.LifecycleException

  protected void stopInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 1003
            aload 0 /* this */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.cleanUp:()V
         1: .line 1004
            aload 0 /* this */
            getstatic org.apache.catalina.LifecycleState.STOPPING:Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.setState:(Lorg/apache/catalina/LifecycleState;)V
         2: .line 1005
            aload 0 /* this */
            ldc "configure_stop"
            aconst_null
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.fireLifecycleEvent:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 1006
            return
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
    Exceptions:
      throws org.apache.catalina.LifecycleException

  private void cleanUp();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 1012
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ifne 2
         1: .line 1013
            return
         2: .line 1017
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            instanceof org.apache.catalina.Server
            ifeq 5
         3: .line 1018
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            checkcast org.apache.catalina.Server
            invokeinterface org.apache.catalina.Server.getGlobalNamingContext:()Ljavax/naming/Context;
            astore 1 /* ctxt */
        start local 1 // javax.naming.Context ctxt
         4: .line 1019
            goto 15
        end local 1 // javax.naming.Context ctxt
         5: .line 1020
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.naming.ContextBindings.getClassLoader:()Ljavax/naming/Context;
            astore 1 /* ctxt */
        start local 1 // javax.naming.Context ctxt
         6: .line 1021
            aload 1 /* ctxt */
            ldc "comp/env"
            invokeinterface javax.naming.Context.lookup:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast javax.naming.Context
            astore 1 /* ctxt */
         7: .line 1023
            goto 15
        end local 1 // javax.naming.Context ctxt
      StackMap locals:
      StackMap stack: javax.naming.NamingException
         8: astore 2 /* e */
        start local 2 // javax.naming.NamingException e
         9: .line 1024
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.cleanupNoContext"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 1025
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            aastore
        11: .line 1024
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        12: .line 1025
            aload 2 /* e */
        13: .line 1024
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        14: .line 1026
            return
        end local 2 // javax.naming.NamingException e
        start local 1 // javax.naming.Context ctxt
        15: .line 1028
      StackMap locals: javax.naming.Context
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 32
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl javax.naming.Context top java.util.Iterator
      StackMap stack:
        16: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResource
            astore 2 /* cr */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextResource cr
        17: .line 1029
            aload 2 /* cr */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getSingleton:()Z
            ifeq 32
        18: .line 1030
            aload 2 /* cr */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getCloseMethod:()Ljava/lang/String;
            astore 4 /* closeMethod */
        start local 4 // java.lang.String closeMethod
        19: .line 1031
            aload 4 /* closeMethod */
            ifnull 32
            aload 4 /* closeMethod */
            invokevirtual java.lang.String.length:()I
            ifle 32
        20: .line 1032
            aload 2 /* cr */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
        21: .line 1035
            aload 1 /* ctxt */
            aload 5 /* name */
            invokeinterface javax.naming.Context.lookup:(Ljava/lang/String;)Ljava/lang/Object;
            astore 6 /* resource */
        start local 6 // java.lang.Object resource
        22: .line 1036
            goto 31
        end local 6 // java.lang.Object resource
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl javax.naming.Context org.apache.tomcat.util.descriptor.web.ContextResource java.util.Iterator java.lang.String java.lang.String
      StackMap stack: javax.naming.NamingException
        23: astore 7 /* e */
        start local 7 // javax.naming.NamingException e
        24: .line 1037
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
        25: .line 1038
            ldc "namingResources.cleanupNoResource"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        26: .line 1039
            aload 2 /* cr */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            aastore
        27: .line 1037
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        28: .line 1039
            aload 7 /* e */
        29: .line 1037
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        30: .line 1040
            goto 32
        end local 7 // javax.naming.NamingException e
        start local 6 // java.lang.Object resource
        31: .line 1042
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 6 /* resource */
            aload 5 /* name */
            aload 4 /* closeMethod */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.cleanUp:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
        end local 6 // java.lang.Object resource
        end local 5 // java.lang.String name
        end local 4 // java.lang.String closeMethod
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextResource cr
        32: .line 1028
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl javax.naming.Context top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        33: .line 1046
            return
        end local 1 // javax.naming.Context ctxt
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0         this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            4    5     1         ctxt  Ljavax/naming/Context;
            6    8     1         ctxt  Ljavax/naming/Context;
           15   34     1         ctxt  Ljavax/naming/Context;
            9   15     2            e  Ljavax/naming/NamingException;
           17   32     2           cr  Lorg/apache/tomcat/util/descriptor/web/ContextResource;
           19   32     4  closeMethod  Ljava/lang/String;
           21   32     5         name  Ljava/lang/String;
           22   23     6     resource  Ljava/lang/Object;
           31   32     6     resource  Ljava/lang/Object;
           24   31     7            e  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
           2     7       8  Class javax.naming.NamingException
          21    22      23  Class javax.naming.NamingException

  private void cleanUp(java.lang.Object, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.Object resource
        start local 2 // java.lang.String name
        start local 3 // java.lang.String closeMethod
         0: .line 1059
            aconst_null
            astore 4 /* m */
        start local 4 // java.lang.reflect.Method m
         1: .line 1061
            aload 1 /* resource */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 3 /* closeMethod */
            aconst_null
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* m */
         2: .line 1062
            goto 13
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.Object java.lang.String java.lang.String java.lang.reflect.Method
      StackMap stack: java.lang.SecurityException
         3: pop
         4: .line 1063
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.cleanupCloseSecurity"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 1064
            aload 3 /* closeMethod */
            aastore
            dup
            iconst_1
            aload 2 /* name */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            aastore
         6: .line 1063
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         7: .line 1065
            return
         8: .line 1066
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         9: .line 1067
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.cleanupNoClose"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 1068
            aload 2 /* name */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            aastore
            dup
            iconst_2
            aload 3 /* closeMethod */
            aastore
        11: .line 1067
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        12: .line 1069
            return
        13: .line 1072
      StackMap locals:
      StackMap stack:
            aload 4 /* m */
            aload 1 /* resource */
            aconst_null
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 1073
            goto 30
      StackMap locals:
      StackMap stack: java.lang.Exception
        15: astore 5 /* e */
        start local 5 // java.lang.Exception e
        16: .line 1074
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.cleanupCloseFailed"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 1075
            aload 3 /* closeMethod */
            aastore
            dup
            iconst_1
            aload 2 /* name */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            aastore
        18: .line 1074
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        19: .line 1075
            aload 5 /* e */
        20: .line 1074
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Exception e
        21: goto 30
        22: .line 1076
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 5 /* e */
        start local 5 // java.lang.reflect.InvocationTargetException e
        23: .line 1077
            aload 5 /* e */
            invokestatic org.apache.tomcat.util.ExceptionUtils.unwrapInvocationTargetException:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 6 /* t */
        start local 6 // java.lang.Throwable t
        24: .line 1078
            aload 6 /* t */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
        25: .line 1079
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "namingResources.cleanupCloseFailed"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        26: .line 1080
            aload 3 /* closeMethod */
            aastore
            dup
            iconst_1
            aload 2 /* name */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            aastore
        27: .line 1079
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        28: .line 1080
            aload 6 /* t */
        29: .line 1079
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 6 // java.lang.Throwable t
        end local 5 // java.lang.reflect.InvocationTargetException e
        30: .line 1082
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.reflect.Method m
        end local 3 // java.lang.String closeMethod
        end local 2 // java.lang.String name
        end local 1 // java.lang.Object resource
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   31     0         this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   31     1     resource  Ljava/lang/Object;
            0   31     2         name  Ljava/lang/String;
            0   31     3  closeMethod  Ljava/lang/String;
            1   31     4            m  Ljava/lang/reflect/Method;
           16   21     5            e  Ljava/lang/Exception;
           23   30     5            e  Ljava/lang/reflect/InvocationTargetException;
           24   30     6            t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.SecurityException
           1     2       8  Class java.lang.NoSuchMethodException
          13    14      15  Class java.lang.IllegalArgumentException
          13    14      15  Class java.lang.IllegalAccessException
          13    14      22  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
             Name  Flags
      resource     
      name         
      closeMethod  

  protected void destroyInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 1089
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.deploy.NamingResourcesImpl.resourceRequireExplicitRegistration:Z
         1: .line 1092
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resourceLinks:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 11
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResourceLink
            astore 1 /* crl */
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextResourceLink crl
         3: .line 1094
            aload 1 /* crl */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.destroyMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;)V
         4: .line 1095
            goto 11
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextResourceLink java.util.Iterator
      StackMap stack: java.lang.Exception
         5: astore 3 /* e */
        start local 3 // java.lang.Exception e
         6: .line 1096
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
         7: .line 1097
            ldc "namingResources.mbeanDestroyFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* crl */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceLink.getName:()Ljava/lang/String;
            aastore
         8: .line 1096
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         9: .line 1097
            aload 3 /* e */
        10: .line 1096
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextResourceLink crl
        11: .line 1092
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        12: .line 1101
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.envs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 22
      StackMap locals:
      StackMap stack:
        13: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextEnvironment
            astore 1 /* ce */
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextEnvironment ce
        14: .line 1103
            aload 1 /* ce */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.destroyMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;)V
        15: .line 1104
            goto 22
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextEnvironment java.util.Iterator
      StackMap stack: java.lang.Exception
        16: astore 3 /* e */
        start local 3 // java.lang.Exception e
        17: .line 1105
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
        18: .line 1106
            ldc "namingResources.mbeanDestroyFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ce */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            aastore
        19: .line 1105
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        20: .line 1106
            aload 3 /* e */
        21: .line 1105
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextEnvironment ce
        22: .line 1101
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        23: .line 1110
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.resources:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 33
      StackMap locals:
      StackMap stack:
        24: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResource
            astore 1 /* cr */
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextResource cr
        25: .line 1112
            aload 1 /* cr */
            invokestatic org.apache.catalina.mbeans.MBeanUtils.destroyMBean:(Lorg/apache/tomcat/util/descriptor/web/ContextResource;)V
        26: .line 1113
            goto 33
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.tomcat.util.descriptor.web.ContextResource java.util.Iterator
      StackMap stack: java.lang.Exception
        27: astore 3 /* e */
        start local 3 // java.lang.Exception e
        28: .line 1114
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.deploy.NamingResourcesImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
        29: .line 1115
            ldc "namingResources.mbeanDestroyFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* cr */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            aastore
        30: .line 1114
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        31: .line 1115
            aload 3 /* e */
        32: .line 1114
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextResource cr
        33: .line 1110
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        34: .line 1119
            aload 0 /* this */
            invokespecial org.apache.catalina.util.LifecycleMBeanBase.destroyInternal:()V
        35: .line 1120
            return
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   36     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            3   11     1   crl  Lorg/apache/tomcat/util/descriptor/web/ContextResourceLink;
            6   11     3     e  Ljava/lang/Exception;
           14   22     1    ce  Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
           17   22     3     e  Ljava/lang/Exception;
           25   33     1    cr  Lorg/apache/tomcat/util/descriptor/web/ContextResource;
           28   33     3     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception
          14    15      16  Class java.lang.Exception
          25    26      27  Class java.lang.Exception
    Exceptions:
      throws org.apache.catalina.LifecycleException

  protected java.lang.String getDomainInternal();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 1126
            aload 0 /* this */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.getContainer:()Ljava/lang/Object;
            astore 1 /* c */
        start local 1 // java.lang.Object c
         1: .line 1128
            aload 1 /* c */
            instanceof org.apache.catalina.JmxEnabled
            ifeq 3
         2: .line 1129
            aload 1 /* c */
            checkcast org.apache.catalina.JmxEnabled
            invokeinterface org.apache.catalina.JmxEnabled.getDomain:()Ljava/lang/String;
            areturn
         3: .line 1132
      StackMap locals: java.lang.Object
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Object c
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            1    4     1     c  Ljava/lang/Object;

  protected java.lang.String getObjectNameKeyProperties();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
         0: .line 1138
            aload 0 /* this */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.getContainer:()Ljava/lang/Object;
            astore 1 /* c */
        start local 1 // java.lang.Object c
         1: .line 1139
            aload 1 /* c */
            instanceof org.apache.catalina.Container
            ifeq 5
         2: .line 1140
            new java.lang.StringBuilder
            dup
            ldc "type=NamingResources"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 1141
            aload 1 /* c */
            checkcast org.apache.catalina.Container
            invokeinterface org.apache.catalina.Container.getMBeanKeyProperties:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 1140
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         5: .line 1144
      StackMap locals: java.lang.Object
      StackMap stack:
            ldc "type=NamingResources"
            areturn
        end local 1 // java.lang.Object c
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            1    6     1     c  Ljava/lang/Object;

  private boolean checkResourceType(org.apache.tomcat.util.descriptor.web.ResourceBase);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ResourceBase;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // org.apache.tomcat.util.descriptor.web.ResourceBase resource
         0: .line 1160
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            instanceof org.apache.catalina.Context
            ifne 2
         1: .line 1162
            iconst_1
            ireturn
         2: .line 1165
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ResourceBase.getInjectionTargets:()Ljava/util/List;
            ifnull 4
         3: .line 1166
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ResourceBase.getInjectionTargets:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 5
         4: .line 1168
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 1171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.deploy.NamingResourcesImpl.container:Ljava/lang/Object;
            checkcast org.apache.catalina.Context
            astore 2 /* context */
        start local 2 // org.apache.catalina.Context context
         6: .line 1173
            aload 1 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ResourceBase.getType:()Ljava/lang/String;
            astore 3 /* typeName */
        start local 3 // java.lang.String typeName
         7: .line 1174
            aconst_null
            astore 4 /* typeClass */
        start local 4 // java.lang.Class typeClass
         8: .line 1175
            aload 3 /* typeName */
            ifnull 12
         9: .line 1176
            aload 2 /* context */
            aload 3 /* typeName */
            invokestatic org.apache.catalina.util.Introspection.loadClass:(Lorg/apache/catalina/Context;Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* typeClass */
        10: .line 1177
            aload 4 /* typeClass */
            ifnonnull 12
        11: .line 1180
            iconst_1
            ireturn
        12: .line 1185
      StackMap locals: org.apache.catalina.Context java.lang.String java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 2 /* context */
            aload 1 /* resource */
            aload 4 /* typeClass */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.getCompatibleType:(Lorg/apache/catalina/Context;Lorg/apache/tomcat/util/descriptor/web/ResourceBase;Ljava/lang/Class;)Ljava/lang/Class;
        13: .line 1184
            astore 5 /* compatibleClass */
        start local 5 // java.lang.Class compatibleClass
        14: .line 1186
            aload 5 /* compatibleClass */
            ifnonnull 16
        15: .line 1189
            iconst_0
            ireturn
        16: .line 1192
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* resource */
            aload 5 /* compatibleClass */
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ResourceBase.setType:(Ljava/lang/String;)V
        17: .line 1193
            iconst_1
            ireturn
        end local 5 // java.lang.Class compatibleClass
        end local 4 // java.lang.Class typeClass
        end local 3 // java.lang.String typeName
        end local 2 // org.apache.catalina.Context context
        end local 1 // org.apache.tomcat.util.descriptor.web.ResourceBase resource
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   18     1         resource  Lorg/apache/tomcat/util/descriptor/web/ResourceBase;
            6   18     2          context  Lorg/apache/catalina/Context;
            7   18     3         typeName  Ljava/lang/String;
            8   18     4        typeClass  Ljava/lang/Class<*>;
           14   18     5  compatibleClass  Ljava/lang/Class<*>;
    MethodParameters:
          Name  Flags
      resource  

  private java.lang.Class<?> getCompatibleType(org.apache.catalina.Context, org.apache.tomcat.util.descriptor.web.ResourceBase, java.lang.Class<?>);
    descriptor: (Lorg/apache/catalina/Context;Lorg/apache/tomcat/util/descriptor/web/ResourceBase;Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=4
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // org.apache.catalina.Context context
        start local 2 // org.apache.tomcat.util.descriptor.web.ResourceBase resource
        start local 3 // java.lang.Class typeClass
         0: .line 1199
            aconst_null
            astore 4 /* result */
        start local 4 // java.lang.Class result
         1: .line 1201
            aload 2 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ResourceBase.getInjectionTargets:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 27
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.catalina.Context org.apache.tomcat.util.descriptor.web.ResourceBase java.lang.Class java.lang.Class top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.InjectionTarget
            astore 5 /* injectionTarget */
        start local 5 // org.apache.tomcat.util.descriptor.web.InjectionTarget injectionTarget
         3: .line 1203
            aload 1 /* context */
            aload 5 /* injectionTarget */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetClass:()Ljava/lang/String;
         4: .line 1202
            invokestatic org.apache.catalina.util.Introspection.loadClass:(Lorg/apache/catalina/Context;Ljava/lang/String;)Ljava/lang/Class;
            astore 7 /* clazz */
        start local 7 // java.lang.Class clazz
         5: .line 1204
            aload 7 /* clazz */
            ifnonnull 7
         6: .line 1206
            goto 27
         7: .line 1210
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.catalina.Context org.apache.tomcat.util.descriptor.web.ResourceBase java.lang.Class java.lang.Class org.apache.tomcat.util.descriptor.web.InjectionTarget java.util.Iterator java.lang.Class
      StackMap stack:
            aload 5 /* injectionTarget */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetName:()Ljava/lang/String;
            astore 8 /* targetName */
        start local 8 // java.lang.String targetName
         8: .line 1212
            aload 0 /* this */
            aload 7 /* clazz */
            aload 8 /* targetName */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.getSetterType:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
            astore 9 /* targetType */
        start local 9 // java.lang.Class targetType
         9: .line 1213
            aload 9 /* targetType */
            ifnonnull 11
        10: .line 1215
            aload 0 /* this */
            aload 7 /* clazz */
            aload 8 /* targetName */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.getFieldType:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
            astore 9 /* targetType */
        11: .line 1217
      StackMap locals: java.lang.String java.lang.Class
      StackMap stack:
            aload 9 /* targetType */
            ifnonnull 13
        12: .line 1219
            goto 27
        13: .line 1221
      StackMap locals:
      StackMap stack:
            aload 9 /* targetType */
            invokestatic org.apache.catalina.util.Introspection.convertPrimitiveType:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 9 /* targetType */
        14: .line 1223
            aload 3 /* typeClass */
            ifnonnull 23
        15: .line 1225
            aload 4 /* result */
            ifnonnull 18
        16: .line 1226
            aload 9 /* targetType */
            astore 4 /* result */
        17: .line 1227
            goto 27
      StackMap locals:
      StackMap stack:
        18: aload 9 /* targetType */
            aload 4 /* result */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 27
        19: .line 1229
            aload 4 /* result */
            aload 9 /* targetType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 22
        20: .line 1231
            aload 9 /* targetType */
            astore 4 /* result */
        21: .line 1232
            goto 27
        22: .line 1234
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        23: .line 1239
      StackMap locals:
      StackMap stack:
            aload 9 /* targetType */
            aload 3 /* typeClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 26
        24: .line 1240
            aload 3 /* typeClass */
            astore 4 /* result */
        25: .line 1241
            goto 27
        26: .line 1243
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 9 // java.lang.Class targetType
        end local 8 // java.lang.String targetName
        end local 7 // java.lang.Class clazz
        end local 5 // org.apache.tomcat.util.descriptor.web.InjectionTarget injectionTarget
        27: .line 1201
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl org.apache.catalina.Context org.apache.tomcat.util.descriptor.web.ResourceBase java.lang.Class java.lang.Class top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        28: .line 1247
            aload 4 /* result */
            areturn
        end local 4 // java.lang.Class result
        end local 3 // java.lang.Class typeClass
        end local 2 // org.apache.tomcat.util.descriptor.web.ResourceBase resource
        end local 1 // org.apache.catalina.Context context
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   29     0             this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   29     1          context  Lorg/apache/catalina/Context;
            0   29     2         resource  Lorg/apache/tomcat/util/descriptor/web/ResourceBase;
            0   29     3        typeClass  Ljava/lang/Class<*>;
            1   29     4           result  Ljava/lang/Class<*>;
            3   27     5  injectionTarget  Lorg/apache/tomcat/util/descriptor/web/InjectionTarget;
            5   27     7            clazz  Ljava/lang/Class<*>;
            8   27     8       targetName  Ljava/lang/String;
            9   27     9       targetType  Ljava/lang/Class<*>;
    Signature: (Lorg/apache/catalina/Context;Lorg/apache/tomcat/util/descriptor/web/ResourceBase;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    MethodParameters:
           Name  Flags
      context    
      resource   
      typeClass  

  private java.lang.Class<?> getSetterType(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String name
         0: .line 1251
            aload 1 /* clazz */
            invokestatic org.apache.catalina.util.Introspection.getDeclaredMethods:(Ljava/lang/Class;)[Ljava/lang/reflect/Method;
            astore 3 /* methods */
        start local 3 // java.lang.reflect.Method[] methods
         1: .line 1252
            aload 3 /* methods */
            ifnull 9
            aload 3 /* methods */
            arraylength
            ifle 9
         2: .line 1253
            aload 3 /* methods */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.Class java.lang.String java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* method */
        start local 4 // java.lang.reflect.Method method
         4: .line 1254
            aload 4 /* method */
            invokestatic org.apache.catalina.util.Introspection.isValidSetter:(Ljava/lang/reflect/Method;)Z
            ifeq 7
         5: .line 1255
            aload 4 /* method */
            invokestatic org.apache.catalina.util.Introspection.getPropertyName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1256
            aload 4 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            iconst_0
            aaload
            areturn
        end local 4 // java.lang.reflect.Method method
         7: .line 1253
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 3
         9: .line 1260
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.Class java.lang.String java.lang.reflect.Method[]
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.reflect.Method[] methods
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class clazz
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0   10     1    clazz  Ljava/lang/Class<*>;
            0   10     2     name  Ljava/lang/String;
            1   10     3  methods  [Ljava/lang/reflect/Method;
            4    7     4   method  Ljava/lang/reflect/Method;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      clazz  
      name   

  private java.lang.Class<?> getFieldType(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String name
         0: .line 1264
            aload 1 /* clazz */
            invokestatic org.apache.catalina.util.Introspection.getDeclaredFields:(Ljava/lang/Class;)[Ljava/lang/reflect/Field;
            astore 3 /* fields */
        start local 3 // java.lang.reflect.Field[] fields
         1: .line 1265
            aload 3 /* fields */
            ifnull 8
            aload 3 /* fields */
            arraylength
            ifle 8
         2: .line 1266
            aload 3 /* fields */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 7
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.Class java.lang.String java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* field */
        start local 4 // java.lang.reflect.Field field
         4: .line 1267
            aload 4 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 1268
            aload 4 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            areturn
        end local 4 // java.lang.reflect.Field field
         6: .line 1266
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         7: iload 5
            iload 6
            if_icmplt 3
         8: .line 1272
      StackMap locals: org.apache.catalina.deploy.NamingResourcesImpl java.lang.Class java.lang.String java.lang.reflect.Field[]
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.reflect.Field[] fields
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class clazz
        end local 0 // org.apache.catalina.deploy.NamingResourcesImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/apache/catalina/deploy/NamingResourcesImpl;
            0    9     1   clazz  Ljava/lang/Class<*>;
            0    9     2    name  Ljava/lang/String;
            1    9     3  fields  [Ljava/lang/reflect/Field;
            4    6     4   field  Ljava/lang/reflect/Field;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      clazz  
      name   
}
SourceFile: "NamingResourcesImpl.java"