public class org.apache.tomcat.util.descriptor.web.WebXml extends org.apache.tomcat.util.descriptor.web.XmlEncodingBase implements org.apache.tomcat.util.digester.DocumentProperties$Charset
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.tomcat.util.descriptor.web.WebXml
  super_class: org.apache.tomcat.util.descriptor.web.XmlEncodingBase
{
  protected static final java.lang.String ORDER_OTHERS;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.apache.catalina.order.others"

  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 final org.apache.juli.logging.Log log;
    descriptor: Lorg/apache/juli/logging/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private java.util.Set<java.lang.String> absoluteOrdering;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

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

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

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

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

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

  private int majorVersion;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int minorVersion;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  private final java.util.Set<org.apache.tomcat.util.descriptor.web.FilterMap> filterMaps;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/FilterMap;>;

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

  private final java.util.Set<java.lang.String> listeners;
    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.ServletDef> servlets;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ServletDef;>;

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

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

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

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

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

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

  private final java.util.Set<java.lang.String> welcomeFiles;
    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.ErrorPage> errorPages;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ErrorPage;>;

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

  private final java.util.Set<org.apache.tomcat.util.descriptor.web.JspPropertyGroup> jspPropertyGroups;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/JspPropertyGroup;>;

  private final java.util.Set<org.apache.tomcat.util.descriptor.web.SecurityConstraint> securityConstraints;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;>;

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

  private final java.util.Set<java.lang.String> securityRoles;
    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.ContextEnvironment> envEntries;
    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.ContextEjb> ejbRefs;
    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.ContextLocalEjb> ejbLocalRefs;
    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.ContextService> serviceRefs;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextService;>;

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

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

  private final java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.MessageDestinationRef> messageDestinationRefs;
    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.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.MessageDestination> messageDestinations;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/MessageDestination;>;

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

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

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

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

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

  private java.net.URL uRL;
    descriptor: Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private static final java.lang.String INDENT2;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "  "

  private static final java.lang.String INDENT4;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "    "

  private static final java.lang.String INDENT6;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "      "

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 65
            getstatic org.apache.tomcat.util.descriptor.web.Constants.PACKAGE_NAME:Ljava/lang/String;
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/String;)Lorg/apache/tomcat/util/res/StringManager;
         1: .line 64
            putstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
         2: .line 698
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 59
            aload 0 /* this */
            invokespecial org.apache.tomcat.util.descriptor.web.XmlEncodingBase.<init>:()V
         1: .line 67
            aload 0 /* this */
            ldc Lorg/apache/tomcat/util/descriptor/web/WebXml;
            invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
            putfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
         2: .line 74
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.overridable:Z
         3: .line 87
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.duplicated:Z
         4: .line 99
            aload 0 /* this */
            aconst_null
            putfield org.apache.tomcat.util.descriptor.web.WebXml.absoluteOrdering:Ljava/util/Set;
         5: .line 121
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.after:Ljava/util/Set;
         6: .line 134
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.before:Ljava/util/Set;
         7: .line 197
            aload 0 /* this */
            aconst_null
            putfield org.apache.tomcat.util.descriptor.web.WebXml.publicId:Ljava/lang/String;
         8: .line 222
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.metadataComplete:Z
         9: .line 228
            aload 0 /* this */
            aconst_null
            putfield org.apache.tomcat.util.descriptor.web.WebXml.name:Ljava/lang/String;
        10: .line 240
            aload 0 /* this */
            iconst_5
            putfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
        11: .line 241
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.minorVersion:I
        12: .line 251
            aload 0 /* this */
            aconst_null
            putfield org.apache.tomcat.util.descriptor.web.WebXml.displayName:Ljava/lang/String;
        13: .line 258
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.distributable:Z
        14: .line 265
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.denyUncoveredHttpMethods:Z
        15: .line 275
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.contextParams:Ljava/util/Map;
        16: .line 286
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.filters:Ljava/util/Map;
        17: .line 299
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.filterMaps:Ljava/util/Set;
        18: .line 300
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.filterMappingNames:Ljava/util/Set;
        19: .line 312
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.listeners:Ljava/util/Set;
        20: .line 324
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.servlets:Ljava/util/Map;
        21: .line 336
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.servletMappings:Ljava/util/Map;
        22: .line 337
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.servletMappingNames:Ljava/util/Set;
        23: .line 356
            aload 0 /* this */
            new org.apache.tomcat.util.descriptor.web.SessionConfig
            dup
            invokespecial org.apache.tomcat.util.descriptor.web.SessionConfig.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
        24: .line 363
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.mimeMappings:Ljava/util/Map;
        25: .line 370
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.replaceWelcomeFiles:Z
        26: .line 371
            aload 0 /* this */
            iconst_1
            putfield org.apache.tomcat.util.descriptor.web.WebXml.alwaysAddWelcomeFiles:Z
        27: .line 391
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.welcomeFiles:Ljava/util/Set;
        28: .line 402
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.errorPages:Ljava/util/Map;
        29: .line 411
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.taglibs:Ljava/util/Map;
        30: .line 423
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.jspPropertyGroups:Ljava/util/Set;
        31: .line 435
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.securityConstraints:Ljava/util/Set;
        32: .line 446
            aload 0 /* this */
            aconst_null
            putfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
        33: .line 455
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.securityRoles:Ljava/util/Set;
        34: .line 463
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.envEntries:Ljava/util/Map;
        35: .line 477
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.ejbRefs:Ljava/util/Map;
        36: .line 485
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.ejbLocalRefs:Ljava/util/Map;
        37: .line 497
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.serviceRefs:Ljava/util/Map;
        38: .line 505
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.resourceRefs:Ljava/util/Map;
        39: .line 521
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.resourceEnvRefs:Ljava/util/Map;
        40: .line 537
            aload 0 /* this */
        41: .line 538
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinationRefs:Ljava/util/Map;
        42: .line 560
            aload 0 /* this */
        43: .line 561
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinations:Ljava/util/Map;
        44: .line 580
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.localeEncodingMappings:Ljava/util/Map;
        45: .line 589
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.postConstructMethods:Ljava/util/Map;
        46: .line 600
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.preDestroyMethods:Ljava/util/Map;
        47: .line 666
            aload 0 /* this */
            aconst_null
            putfield org.apache.tomcat.util.descriptor.web.WebXml.uRL:Ljava/net/URL;
        48: .line 671
            aload 0 /* this */
            aconst_null
            putfield org.apache.tomcat.util.descriptor.web.WebXml.jarName:Ljava/lang/String;
        49: .line 677
            aload 0 /* this */
            iconst_1
            putfield org.apache.tomcat.util.descriptor.web.WebXml.webappJar:Z
        50: .line 682
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.delegate:Z
        51: .line 59
            return
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   52     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public boolean isOverridable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 76
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.overridable:Z
            ireturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setOverridable(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // boolean overridable
         0: .line 79
            aload 0 /* this */
            iload 1 /* overridable */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.overridable:Z
         1: .line 80
            return
        end local 1 // boolean overridable
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  overridable  Z
    MethodParameters:
             Name  Flags
      overridable  

  public boolean isDuplicated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 89
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.duplicated:Z
            ireturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setDuplicated(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // boolean duplicated
         0: .line 92
            aload 0 /* this */
            iload 1 /* duplicated */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.duplicated:Z
         1: .line 93
            return
        end local 1 // boolean duplicated
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  duplicated  Z
    MethodParameters:
            Name  Flags
      duplicated  

  public void createAbsoluteOrdering();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 101
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.absoluteOrdering:Ljava/util/Set;
            ifnonnull 2
         1: .line 102
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.apache.tomcat.util.descriptor.web.WebXml.absoluteOrdering:Ljava/util/Set;
         2: .line 104
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void addAbsoluteOrdering(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String fragmentName
         0: .line 106
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.createAbsoluteOrdering:()V
         1: .line 107
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.absoluteOrdering:Ljava/util/Set;
            aload 1 /* fragmentName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 108
            return
        end local 1 // java.lang.String fragmentName
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    3     1  fragmentName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      fragmentName  

  public void addAbsoluteOrderingOthers();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 110
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.createAbsoluteOrdering:()V
         1: .line 111
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.absoluteOrdering:Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 112
            return
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public java.util.Set<java.lang.String> getAbsoluteOrdering();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 114
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.absoluteOrdering:Ljava/util/Set;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public void addAfterOrdering(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String fragmentName
         0: .line 123
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.after:Ljava/util/Set;
            aload 1 /* fragmentName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 124
            return
        end local 1 // java.lang.String fragmentName
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  fragmentName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      fragmentName  

  public void addAfterOrderingOthers();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 126
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.before:Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 127
            new java.lang.IllegalArgumentException
            dup
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
         2: .line 128
            ldc "webXml.multipleOther"
         3: .line 127
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.after:Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 131
            return
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public java.util.Set<java.lang.String> getAfterOrdering();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 132
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.after:Ljava/util/Set;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public void addBeforeOrdering(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String fragmentName
         0: .line 136
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.before:Ljava/util/Set;
            aload 1 /* fragmentName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 137
            return
        end local 1 // java.lang.String fragmentName
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  fragmentName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      fragmentName  

  public void addBeforeOrderingOthers();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 139
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.after:Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 140
            new java.lang.IllegalArgumentException
            dup
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
         2: .line 141
            ldc "webXml.multipleOther"
         3: .line 140
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.before:Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 144
            return
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public java.util.Set<java.lang.String> getBeforeOrdering();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 145
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.before:Ljava/util/Set;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.lang.String getVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 150
            new java.lang.StringBuilder
            dup
            iconst_3
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 151
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         2: .line 152
            aload 1 /* sb */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 153
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.minorVersion:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         4: .line 154
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            1    5     1    sb  Ljava/lang/StringBuilder;

  public void setVersion(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String version
         0: .line 161
            aload 1 /* version */
            ifnonnull 2
         1: .line 162
            return
         2: .line 164
      StackMap locals:
      StackMap stack:
            aload 1 /* version */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 6
                49528: 3
                49529: 4
                50485: 5
                50486: 6
                51446: 7
                52407: 8
              default: 27
          }
      StackMap locals: java.lang.String
      StackMap stack:
         3: aload 2
            ldc "2.4"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 27
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "2.5"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 27
      StackMap locals:
      StackMap stack:
         5: aload 2
            ldc "3.0"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 27
      StackMap locals:
      StackMap stack:
         6: aload 2
            ldc "3.1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 27
      StackMap locals:
      StackMap stack:
         7: aload 2
            ldc "4.0"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 27
      StackMap locals:
      StackMap stack:
         8: aload 2
            ldc "5.0"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            goto 27
         9: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
        10: .line 167
            aload 0 /* this */
            iconst_4
            putfield org.apache.tomcat.util.descriptor.web.WebXml.minorVersion:I
        11: .line 168
            goto 28
        12: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
        13: .line 171
            aload 0 /* this */
            iconst_5
            putfield org.apache.tomcat.util.descriptor.web.WebXml.minorVersion:I
        14: .line 172
            goto 28
        15: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            putfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
        16: .line 175
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.minorVersion:I
        17: .line 176
            goto 28
        18: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            putfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
        19: .line 179
            aload 0 /* this */
            iconst_1
            putfield org.apache.tomcat.util.descriptor.web.WebXml.minorVersion:I
        20: .line 180
            goto 28
        21: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            putfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
        22: .line 183
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.minorVersion:I
        23: .line 184
            goto 28
        24: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_5
            putfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
        25: .line 187
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.minorVersion:I
        26: .line 188
            goto 28
        27: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.version.unknown"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* version */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        28: .line 192
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String version
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   29     0     this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0   29     1  version  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      version  

  public java.lang.String getPublicId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 198
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.publicId:Ljava/lang/String;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setPublicId(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String publicId
         0: .line 201
            aload 1 /* publicId */
            ifnonnull 2
         1: .line 202
            return
         2: .line 204
      StackMap locals:
      StackMap stack:
            aload 1 /* publicId */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
             29322962: 3
             30246483: 4
              default: 13
          }
      StackMap locals: java.lang.String
      StackMap stack:
         3: aload 2
            ldc "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 13
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 13
         5: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
         6: .line 207
            aload 0 /* this */
            iconst_2
            putfield org.apache.tomcat.util.descriptor.web.WebXml.minorVersion:I
         7: .line 208
            aload 0 /* this */
            aload 1 /* publicId */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.publicId:Ljava/lang/String;
         8: .line 209
            goto 14
         9: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
        10: .line 212
            aload 0 /* this */
            iconst_3
            putfield org.apache.tomcat.util.descriptor.web.WebXml.minorVersion:I
        11: .line 213
            aload 0 /* this */
            aload 1 /* publicId */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.publicId:Ljava/lang/String;
        12: .line 214
            goto 14
        13: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.unrecognisedPublicId"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* publicId */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        14: .line 219
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String publicId
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0   15     1  publicId  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      publicId  

  public boolean isMetadataComplete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 223
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.metadataComplete:Z
            ireturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setMetadataComplete(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // boolean metadataComplete
         0: .line 225
            aload 0 /* this */
            iload 1 /* metadataComplete */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.metadataComplete:Z
            return
        end local 1 // boolean metadataComplete
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    1     1  metadataComplete  Z
    MethodParameters:
                  Name  Flags
      metadataComplete  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 229
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.name:Ljava/lang/String;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String name
         0: .line 231
            ldc "org.apache.catalina.order.others"
            aload 1 /* name */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 233
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.reservedName"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
         2: .line 234
            goto 4
         3: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.name:Ljava/lang/String;
         4: .line 237
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    5     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public int getMajorVersion();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 242
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
            ireturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public int getMinorVersion();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 243
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.minorVersion:I
            ireturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public java.lang.String getDisplayName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 252
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.displayName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setDisplayName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String displayName
         0: .line 254
            aload 0 /* this */
            aload 1 /* displayName */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.displayName:Ljava/lang/String;
         1: .line 255
            return
        end local 1 // java.lang.String displayName
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  displayName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      displayName  

  public boolean isDistributable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 259
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.distributable:Z
            ireturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setDistributable(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // boolean distributable
         0: .line 261
            aload 0 /* this */
            iload 1 /* distributable */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.distributable:Z
         1: .line 262
            return
        end local 1 // boolean distributable
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  distributable  Z
    MethodParameters:
               Name  Flags
      distributable  

  public boolean getDenyUncoveredHttpMethods();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 267
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.denyUncoveredHttpMethods:Z
            ireturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setDenyUncoveredHttpMethods(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // boolean denyUncoveredHttpMethods
         0: .line 270
            aload 0 /* this */
            iload 1 /* denyUncoveredHttpMethods */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.denyUncoveredHttpMethods:Z
         1: .line 271
            return
        end local 1 // boolean denyUncoveredHttpMethods
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  denyUncoveredHttpMethods  Z
    MethodParameters:
                          Name  Flags
      denyUncoveredHttpMethods  

  public void addContextParam(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String param
        start local 2 // java.lang.String value
         0: .line 277
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.contextParams:Ljava/util/Map;
            aload 1 /* param */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 278
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String param
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  param  Ljava/lang/String;
            0    2     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      param  
      value  

  public java.util.Map<java.lang.String, java.lang.String> getContextParams();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 279
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.contextParams:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public void addFilter(org.apache.tomcat.util.descriptor.web.FilterDef);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/FilterDef;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.FilterDef filter
         0: .line 288
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filters:Ljava/util/Map;
            aload 1 /* filter */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 290
            new java.lang.IllegalArgumentException
            dup
         2: .line 291
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.duplicateFilter"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 292
            aload 1 /* filter */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterName:()Ljava/lang/String;
            aastore
         4: .line 291
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 290
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filters:Ljava/util/Map;
            aload 1 /* filter */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterName:()Ljava/lang/String;
            aload 1 /* filter */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 295
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.FilterDef filter
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    8     1  filter  Lorg/apache/tomcat/util/descriptor/web/FilterDef;
    MethodParameters:
        Name  Flags
      filter  

  public java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.FilterDef> getFilters();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 296
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filters:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/FilterDef;>;

  public void addFilterMapping(org.apache.tomcat.util.descriptor.web.FilterMap);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/FilterMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.FilterMap filterMap
         0: .line 302
            aload 1 /* filterMap */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getCharset:()Ljava/nio/charset/Charset;
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.setCharset:(Ljava/nio/charset/Charset;)V
         1: .line 303
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filterMaps:Ljava/util/Set;
            aload 1 /* filterMap */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 304
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filterMappingNames:Ljava/util/Set;
            aload 1 /* filterMap */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.getFilterName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 305
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.FilterMap filterMap
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    4     1  filterMap  Lorg/apache/tomcat/util/descriptor/web/FilterMap;
    MethodParameters:
           Name  Flags
      filterMap  

  public java.util.Set<org.apache.tomcat.util.descriptor.web.FilterMap> getFilterMappings();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 306
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filterMaps:Ljava/util/Set;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/FilterMap;>;

  public void addListener(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String className
         0: .line 314
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.listeners:Ljava/util/Set;
            aload 1 /* className */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 315
            return
        end local 1 // java.lang.String className
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  public java.util.Set<java.lang.String> getListeners();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 316
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.listeners:Ljava/util/Set;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public void addServlet(org.apache.tomcat.util.descriptor.web.ServletDef);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ServletDef;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.ServletDef servletDef
         0: .line 326
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servlets:Ljava/util/Map;
            aload 1 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getServletName:()Ljava/lang/String;
            aload 1 /* servletDef */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 327
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.overridable:Z
            ifeq 3
         2: .line 328
            aload 1 /* servletDef */
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.overridable:Z
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.setOverridable:(Z)V
         3: .line 330
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ServletDef servletDef
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    4     1  servletDef  Lorg/apache/tomcat/util/descriptor/web/ServletDef;
    MethodParameters:
            Name  Flags
      servletDef  

  public java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.ServletDef> getServlets();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 331
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servlets:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ServletDef;>;

  public void addServletMapping(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String urlPattern
        start local 2 // java.lang.String servletName
         0: .line 339
            aload 0 /* this */
            aload 1 /* urlPattern */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getCharset:()Ljava/nio/charset/Charset;
            invokestatic org.apache.tomcat.util.buf.UDecoder.URLDecode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
            aload 2 /* servletName */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addServletMappingDecoded:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 340
            return
        end local 2 // java.lang.String servletName
        end local 1 // java.lang.String urlPattern
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1   urlPattern  Ljava/lang/String;
            0    2     2  servletName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      urlPattern   
      servletName  

  public void addServletMappingDecoded(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String urlPattern
        start local 2 // java.lang.String servletName
         0: .line 342
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servletMappings:Ljava/util/Map;
            aload 1 /* urlPattern */
            aload 2 /* servletName */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* oldServletName */
        start local 3 // java.lang.String oldServletName
         1: .line 343
            aload 3 /* oldServletName */
            ifnull 6
         2: .line 346
            new java.lang.IllegalArgumentException
            dup
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
         3: .line 347
            ldc "webXml.duplicateServletMapping"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* oldServletName */
            aastore
            dup
            iconst_1
         4: .line 348
            aload 2 /* servletName */
            aastore
            dup
            iconst_2
            aload 1 /* urlPattern */
            aastore
         5: .line 346
            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
         6: .line 350
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servletMappingNames:Ljava/util/Set;
            aload 2 /* servletName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 351
            return
        end local 3 // java.lang.String oldServletName
        end local 2 // java.lang.String servletName
        end local 1 // java.lang.String urlPattern
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    8     1      urlPattern  Ljava/lang/String;
            0    8     2     servletName  Ljava/lang/String;
            1    8     3  oldServletName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      urlPattern   
      servletName  

  public java.util.Map<java.lang.String, java.lang.String> getServletMappings();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 352
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servletMappings:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public void setSessionConfig(org.apache.tomcat.util.descriptor.web.SessionConfig);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/SessionConfig;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.SessionConfig sessionConfig
         0: .line 358
            aload 0 /* this */
            aload 1 /* sessionConfig */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
         1: .line 359
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.SessionConfig sessionConfig
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  sessionConfig  Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
    MethodParameters:
               Name  Flags
      sessionConfig  

  public org.apache.tomcat.util.descriptor.web.SessionConfig getSessionConfig();
    descriptor: ()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 360
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void addMimeMapping(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String extension
        start local 2 // java.lang.String mimeType
         0: .line 365
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.mimeMappings:Ljava/util/Map;
            aload 1 /* extension */
            aload 2 /* mimeType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 366
            return
        end local 2 // java.lang.String mimeType
        end local 1 // java.lang.String extension
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  extension  Ljava/lang/String;
            0    2     2   mimeType  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      extension  
      mimeType   

  public java.util.Map<java.lang.String, java.lang.String> getMimeMappings();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 367
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.mimeMappings:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public void setReplaceWelcomeFiles(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // boolean replaceWelcomeFiles
         0: .line 379
            aload 0 /* this */
            iload 1 /* replaceWelcomeFiles */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.replaceWelcomeFiles:Z
         1: .line 380
            return
        end local 1 // boolean replaceWelcomeFiles
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  replaceWelcomeFiles  Z
    MethodParameters:
                     Name  Flags
      replaceWelcomeFiles  

  public void setAlwaysAddWelcomeFiles(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // boolean alwaysAddWelcomeFiles
         0: .line 387
            aload 0 /* this */
            iload 1 /* alwaysAddWelcomeFiles */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.alwaysAddWelcomeFiles:Z
         1: .line 388
            return
        end local 1 // boolean alwaysAddWelcomeFiles
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  alwaysAddWelcomeFiles  Z
    MethodParameters:
                       Name  Flags
      alwaysAddWelcomeFiles  

  public void addWelcomeFile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String welcomeFile
         0: .line 393
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.replaceWelcomeFiles:Z
            ifeq 3
         1: .line 394
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.welcomeFiles:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
         2: .line 395
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.replaceWelcomeFiles:Z
         3: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.welcomeFiles:Ljava/util/Set;
            aload 1 /* welcomeFile */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 398
            return
        end local 1 // java.lang.String welcomeFile
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    5     1  welcomeFile  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      welcomeFile  

  public java.util.Set<java.lang.String> getWelcomeFiles();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 399
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.welcomeFiles:Ljava/util/Set;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public void addErrorPage(org.apache.tomcat.util.descriptor.web.ErrorPage);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ErrorPage;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.ErrorPage errorPage
         0: .line 404
            aload 1 /* errorPage */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getCharset:()Ljava/nio/charset/Charset;
            invokevirtual org.apache.tomcat.util.descriptor.web.ErrorPage.setCharset:(Ljava/nio/charset/Charset;)V
         1: .line 405
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.errorPages:Ljava/util/Map;
            aload 1 /* errorPage */
            invokevirtual org.apache.tomcat.util.descriptor.web.ErrorPage.getName:()Ljava/lang/String;
            aload 1 /* errorPage */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 406
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ErrorPage errorPage
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    3     1  errorPage  Lorg/apache/tomcat/util/descriptor/web/ErrorPage;
    MethodParameters:
           Name  Flags
      errorPage  

  public java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.ErrorPage> getErrorPages();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 407
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.errorPages:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ErrorPage;>;

  public void addTaglib(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String uri
        start local 2 // java.lang.String location
         0: .line 413
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.taglibs:Ljava/util/Map;
            aload 1 /* uri */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 415
            new java.lang.IllegalArgumentException
            dup
         2: .line 416
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.duplicateTaglibUri"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* uri */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         3: .line 415
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.taglibs:Ljava/util/Map;
            aload 1 /* uri */
            aload 2 /* location */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 419
            return
        end local 2 // java.lang.String location
        end local 1 // java.lang.String uri
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    6     1       uri  Ljava/lang/String;
            0    6     2  location  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      uri       
      location  

  public java.util.Map<java.lang.String, java.lang.String> getTaglibs();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 420
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.taglibs:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public void addJspPropertyGroup(org.apache.tomcat.util.descriptor.web.JspPropertyGroup);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/JspPropertyGroup;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.JspPropertyGroup propertyGroup
         0: .line 425
            aload 1 /* propertyGroup */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getCharset:()Ljava/nio/charset/Charset;
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.setCharset:(Ljava/nio/charset/Charset;)V
         1: .line 426
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.jspPropertyGroups:Ljava/util/Set;
            aload 1 /* propertyGroup */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 427
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.JspPropertyGroup propertyGroup
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    3     1  propertyGroup  Lorg/apache/tomcat/util/descriptor/web/JspPropertyGroup;
    MethodParameters:
               Name  Flags
      propertyGroup  

  public java.util.Set<org.apache.tomcat.util.descriptor.web.JspPropertyGroup> getJspPropertyGroups();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 429
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.jspPropertyGroups:Ljava/util/Set;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/JspPropertyGroup;>;

  public void addSecurityConstraint(org.apache.tomcat.util.descriptor.web.SecurityConstraint);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.SecurityConstraint securityConstraint
         0: .line 437
            aload 1 /* securityConstraint */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getCharset:()Ljava/nio/charset/Charset;
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityConstraint.setCharset:(Ljava/nio/charset/Charset;)V
         1: .line 438
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.securityConstraints:Ljava/util/Set;
            aload 1 /* securityConstraint */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 439
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.SecurityConstraint securityConstraint
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    3     1  securityConstraint  Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;
    MethodParameters:
                    Name  Flags
      securityConstraint  

  public java.util.Set<org.apache.tomcat.util.descriptor.web.SecurityConstraint> getSecurityConstraints();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 441
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.securityConstraints:Ljava/util/Set;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;>;

  public void setLoginConfig(org.apache.tomcat.util.descriptor.web.LoginConfig);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/LoginConfig;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.LoginConfig loginConfig
         0: .line 448
            aload 1 /* loginConfig */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getCharset:()Ljava/nio/charset/Charset;
            invokevirtual org.apache.tomcat.util.descriptor.web.LoginConfig.setCharset:(Ljava/nio/charset/Charset;)V
         1: .line 449
            aload 0 /* this */
            aload 1 /* loginConfig */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
         2: .line 450
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.LoginConfig loginConfig
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    3     1  loginConfig  Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
    MethodParameters:
             Name  Flags
      loginConfig  

  public org.apache.tomcat.util.descriptor.web.LoginConfig getLoginConfig();
    descriptor: ()Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 451
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void addSecurityRole(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String securityRole
         0: .line 457
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.securityRoles:Ljava/util/Set;
            aload 1 /* securityRole */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 458
            return
        end local 1 // java.lang.String securityRole
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  securityRole  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      securityRole  

  public java.util.Set<java.lang.String> getSecurityRoles();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 459
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.securityRoles:Ljava/util/Set;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public void addEnvEntry(org.apache.tomcat.util.descriptor.web.ContextEnvironment);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextEnvironment envEntry
         0: .line 465
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.envEntries:Ljava/util/Map;
            aload 1 /* envEntry */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 467
            new java.lang.IllegalArgumentException
            dup
         2: .line 468
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.duplicateEnvEntry"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 469
            aload 1 /* envEntry */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            aastore
         4: .line 468
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 467
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.envEntries:Ljava/util/Map;
            aload 1 /* envEntry */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            aload 1 /* envEntry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 472
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextEnvironment envEntry
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    8     1  envEntry  Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
    MethodParameters:
          Name  Flags
      envEntry  

  public java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextEnvironment> getEnvEntries();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 473
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.envEntries:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;>;

  public void addEjbRef(org.apache.tomcat.util.descriptor.web.ContextEjb);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextEjb;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextEjb ejbRef
         0: .line 479
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.ejbRefs:Ljava/util/Map;
            aload 1 /* ejbRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getName:()Ljava/lang/String;
            aload 1 /* ejbRef */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 480
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextEjb ejbRef
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  ejbRef  Lorg/apache/tomcat/util/descriptor/web/ContextEjb;
    MethodParameters:
        Name  Flags
      ejbRef  

  public java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextEjb> getEjbRefs();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 481
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.ejbRefs:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextEjb;>;

  public void addEjbLocalRef(org.apache.tomcat.util.descriptor.web.ContextLocalEjb);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextLocalEjb;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextLocalEjb ejbLocalRef
         0: .line 487
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.ejbLocalRefs:Ljava/util/Map;
            aload 1 /* ejbLocalRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getName:()Ljava/lang/String;
            aload 1 /* ejbLocalRef */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 488
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextLocalEjb ejbLocalRef
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  ejbLocalRef  Lorg/apache/tomcat/util/descriptor/web/ContextLocalEjb;
    MethodParameters:
             Name  Flags
      ejbLocalRef  

  public java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextLocalEjb> getEjbLocalRefs();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 490
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.ejbLocalRefs:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextLocalEjb;>;

  public void addServiceRef(org.apache.tomcat.util.descriptor.web.ContextService);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextService;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextService serviceRef
         0: .line 499
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.serviceRefs:Ljava/util/Map;
            aload 1 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getName:()Ljava/lang/String;
            aload 1 /* serviceRef */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 500
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextService serviceRef
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1  serviceRef  Lorg/apache/tomcat/util/descriptor/web/ContextService;
    MethodParameters:
            Name  Flags
      serviceRef  

  public java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextService> getServiceRefs();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 501
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.serviceRefs:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextService;>;

  public void addResourceRef(org.apache.tomcat.util.descriptor.web.ContextResource);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ContextResource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextResource resourceRef
         0: .line 507
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceRefs:Ljava/util/Map;
            aload 1 /* resourceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 509
            new java.lang.IllegalArgumentException
            dup
         2: .line 510
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.duplicateResourceRef"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 511
            aload 1 /* resourceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            aastore
         4: .line 510
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 509
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceRefs:Ljava/util/Map;
            aload 1 /* resourceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            aload 1 /* resourceRef */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 514
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextResource resourceRef
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    8     1  resourceRef  Lorg/apache/tomcat/util/descriptor/web/ContextResource;
    MethodParameters:
             Name  Flags
      resourceRef  

  public java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextResource> getResourceRefs();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 516
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceRefs:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextResource;>;

  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=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef resourceEnvRef
         0: .line 523
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceEnvRefs:Ljava/util/Map;
            aload 1 /* resourceEnvRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 525
            new java.lang.IllegalArgumentException
            dup
         2: .line 526
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.duplicateResourceEnvRef"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 527
            aload 1 /* resourceEnvRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getName:()Ljava/lang/String;
            aastore
         4: .line 526
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 525
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceEnvRefs:Ljava/util/Map;
            aload 1 /* resourceEnvRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getName:()Ljava/lang/String;
            aload 1 /* resourceEnvRef */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 530
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef resourceEnvRef
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    8     1  resourceEnvRef  Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;
    MethodParameters:
                Name  Flags
      resourceEnvRef  

  public java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef> getResourceEnvRefs();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 532
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceEnvRefs:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;>;

  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=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef messageDestinationRef
         0: .line 541
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinationRefs:Ljava/util/Map;
         1: .line 542
            aload 1 /* messageDestinationRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getName:()Ljava/lang/String;
         2: .line 541
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
         3: .line 542
            ifeq 8
         4: .line 545
            new java.lang.IllegalArgumentException
            dup
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
         5: .line 546
            ldc "webXml.duplicateMessageDestinationRef"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 547
            aload 1 /* messageDestinationRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getName:()Ljava/lang/String;
            aastore
         7: .line 545
            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
         8: .line 549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinationRefs:Ljava/util/Map;
            aload 1 /* messageDestinationRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getName:()Ljava/lang/String;
         9: .line 550
            aload 1 /* messageDestinationRef */
        10: .line 549
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 551
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef messageDestinationRef
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   12     0                   this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0   12     1  messageDestinationRef  Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;
    MethodParameters:
                       Name  Flags
      messageDestinationRef  

  public java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.MessageDestinationRef> getMessageDestinationRefs();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 553
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinationRefs:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;>;

  public void addMessageDestination(org.apache.tomcat.util.descriptor.web.MessageDestination);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/MessageDestination;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // org.apache.tomcat.util.descriptor.web.MessageDestination messageDestination
         0: .line 564
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinations:Ljava/util/Map;
         1: .line 565
            aload 1 /* messageDestination */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestination.getName:()Ljava/lang/String;
         2: .line 564
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
         3: .line 565
            ifeq 9
         4: .line 568
            new java.lang.IllegalArgumentException
            dup
         5: .line 569
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.duplicateMessageDestination"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 570
            aload 1 /* messageDestination */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestination.getName:()Ljava/lang/String;
            aastore
         7: .line 569
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 568
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinations:Ljava/util/Map;
            aload 1 /* messageDestination */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestination.getName:()Ljava/lang/String;
        10: .line 573
            aload 1 /* messageDestination */
        11: .line 572
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 574
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.MessageDestination messageDestination
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0   13     1  messageDestination  Lorg/apache/tomcat/util/descriptor/web/MessageDestination;
    MethodParameters:
                    Name  Flags
      messageDestination  

  public java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.MessageDestination> getMessageDestinations();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 576
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinations:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/MessageDestination;>;

  public void addLocaleEncodingMapping(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String locale
        start local 2 // java.lang.String encoding
         0: .line 582
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.localeEncodingMappings:Ljava/util/Map;
            aload 1 /* locale */
            aload 2 /* encoding */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 583
            return
        end local 2 // java.lang.String encoding
        end local 1 // java.lang.String locale
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    2     1    locale  Ljava/lang/String;
            0    2     2  encoding  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      locale    
      encoding  

  public java.util.Map<java.lang.String, java.lang.String> getLocaleEncodingMappings();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 585
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.localeEncodingMappings:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public void addPostConstructMethods(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String clazz
        start local 2 // java.lang.String method
         0: .line 591
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.postConstructMethods:Ljava/util/Map;
            aload 1 /* clazz */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 592
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.postConstructMethods:Ljava/util/Map;
            aload 1 /* clazz */
            aload 2 /* method */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 594
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String method
        end local 1 // java.lang.String clazz
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    3     1   clazz  Ljava/lang/String;
            0    3     2  method  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      clazz   
      method  

  public java.util.Map<java.lang.String, java.lang.String> getPostConstructMethods();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 596
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.postConstructMethods:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public void addPreDestroyMethods(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String clazz
        start local 2 // java.lang.String method
         0: .line 602
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.preDestroyMethods:Ljava/util/Map;
            aload 1 /* clazz */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 603
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.preDestroyMethods:Ljava/util/Map;
            aload 1 /* clazz */
            aload 2 /* method */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 605
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String method
        end local 1 // java.lang.String clazz
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    3     1   clazz  Ljava/lang/String;
            0    3     2  method  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      clazz   
      method  

  public java.util.Map<java.lang.String, java.lang.String> getPreDestroyMethods();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 607
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.preDestroyMethods:Ljava/util/Map;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public jakarta.servlet.descriptor.JspConfigDescriptor getJspConfigDescriptor();
    descriptor: ()Ljakarta/servlet/descriptor/JspConfigDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 611
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.jspPropertyGroups:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.taglibs:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 2
         1: .line 612
            aconst_null
            areturn
         2: .line 616
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.jspPropertyGroups:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
         3: .line 615
            astore 1 /* descriptors */
        start local 1 // java.util.Collection descriptors
         4: .line 617
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.jspPropertyGroups:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Collection top java.util.Iterator
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.JspPropertyGroup
            astore 2 /* jspPropertyGroup */
        start local 2 // org.apache.tomcat.util.descriptor.web.JspPropertyGroup jspPropertyGroup
         6: .line 619
            new org.apache.tomcat.util.descriptor.web.JspPropertyGroupDescriptorImpl
            dup
            aload 2 /* jspPropertyGroup */
            invokespecial org.apache.tomcat.util.descriptor.web.JspPropertyGroupDescriptorImpl.<init>:(Lorg/apache/tomcat/util/descriptor/web/JspPropertyGroup;)V
         7: .line 618
            astore 4 /* descriptor */
        start local 4 // jakarta.servlet.descriptor.JspPropertyGroupDescriptor descriptor
         8: .line 620
            aload 1 /* descriptors */
            aload 4 /* descriptor */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // jakarta.servlet.descriptor.JspPropertyGroupDescriptor descriptor
        end local 2 // org.apache.tomcat.util.descriptor.web.JspPropertyGroup jspPropertyGroup
         9: .line 617
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 624
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.taglibs:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokespecial java.util.HashSet.<init>:(I)V
            astore 2 /* tlds */
        start local 2 // java.util.Collection tlds
        11: .line 625
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.taglibs:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
        13: .line 626
            new org.apache.tomcat.util.descriptor.web.TaglibDescriptorImpl
            dup
        14: .line 627
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
        15: .line 626
            invokespecial org.apache.tomcat.util.descriptor.web.TaglibDescriptorImpl.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* descriptor */
        start local 5 // jakarta.servlet.descriptor.TaglibDescriptor descriptor
        16: .line 628
            aload 2 /* tlds */
            aload 5 /* descriptor */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // jakarta.servlet.descriptor.TaglibDescriptor descriptor
        end local 3 // java.util.Map$Entry entry
        17: .line 625
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        18: .line 630
            new org.apache.tomcat.util.descriptor.web.JspConfigDescriptorImpl
            dup
            aload 1 /* descriptors */
            aload 2 /* tlds */
            invokespecial org.apache.tomcat.util.descriptor.web.JspConfigDescriptorImpl.<init>:(Ljava/util/Collection;Ljava/util/Collection;)V
            areturn
        end local 2 // java.util.Collection tlds
        end local 1 // java.util.Collection descriptors
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   19     0              this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            4   19     1       descriptors  Ljava/util/Collection<Ljakarta/servlet/descriptor/JspPropertyGroupDescriptor;>;
            6    9     2  jspPropertyGroup  Lorg/apache/tomcat/util/descriptor/web/JspPropertyGroup;
            8    9     4        descriptor  Ljakarta/servlet/descriptor/JspPropertyGroupDescriptor;
           11   19     2              tlds  Ljava/util/Collection<Ljakarta/servlet/descriptor/TaglibDescriptor;>;
           13   17     3             entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           16   17     5        descriptor  Ljakarta/servlet/descriptor/TaglibDescriptor;

  public java.lang.String getRequestCharacterEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 635
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.requestCharacterEncoding:Ljava/lang/String;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setRequestCharacterEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String requestCharacterEncoding
         0: .line 638
            aload 1 /* requestCharacterEncoding */
            ifnull 5
         1: .line 640
            aload 1 /* requestCharacterEncoding */
            invokestatic org.apache.tomcat.util.buf.B2CConverter.getCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            pop
         2: .line 641
            goto 5
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
         3: astore 2 /* e */
        start local 2 // java.io.UnsupportedEncodingException e
         4: .line 642
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.UnsupportedEncodingException e
         5: .line 645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* requestCharacterEncoding */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.requestCharacterEncoding:Ljava/lang/String;
         6: .line 646
            return
        end local 1 // java.lang.String requestCharacterEncoding
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    7     0                      this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    7     1  requestCharacterEncoding  Ljava/lang/String;
            4    5     2                         e  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.UnsupportedEncodingException
    MethodParameters:
                          Name  Flags
      requestCharacterEncoding  

  public java.lang.String getResponseCharacterEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 650
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.responseCharacterEncoding:Ljava/lang/String;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setResponseCharacterEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String responseCharacterEncoding
         0: .line 653
            aload 1 /* responseCharacterEncoding */
            ifnull 5
         1: .line 655
            aload 1 /* responseCharacterEncoding */
            invokestatic org.apache.tomcat.util.buf.B2CConverter.getCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            pop
         2: .line 656
            goto 5
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
         3: astore 2 /* e */
        start local 2 // java.io.UnsupportedEncodingException e
         4: .line 657
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.UnsupportedEncodingException e
         5: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* responseCharacterEncoding */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.responseCharacterEncoding:Ljava/lang/String;
         6: .line 661
            return
        end local 1 // java.lang.String responseCharacterEncoding
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    7     0                       this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    7     1  responseCharacterEncoding  Ljava/lang/String;
            4    5     2                          e  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.UnsupportedEncodingException
    MethodParameters:
                           Name  Flags
      responseCharacterEncoding  

  public void setURL(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.net.URL url
         0: .line 667
            aload 0 /* this */
            aload 1 /* url */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.uRL:Ljava/net/URL;
            return
        end local 1 // java.net.URL url
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    1     1   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      url   

  public java.net.URL getURL();
    descriptor: ()Ljava/net/URL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 668
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.uRL:Ljava/net/URL;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setJarName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String jarName
         0: .line 672
            aload 0 /* this */
            aload 1 /* jarName */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.jarName:Ljava/lang/String;
            return
        end local 1 // java.lang.String jarName
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    1     1  jarName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      jarName  

  public java.lang.String getJarName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 673
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.jarName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

  public void setWebappJar(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // boolean webappJar
         0: .line 678
            aload 0 /* this */
            iload 1 /* webappJar */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.webappJar:Z
            return
        end local 1 // boolean webappJar
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    1     1  webappJar  Z
    MethodParameters:
           Name  Flags
      webappJar  

  public boolean getWebappJar();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 679
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.webappJar:Z
            ireturn
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;

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

  public void setDelegate(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // boolean delegate
         0: .line 684
            aload 0 /* this */
            iload 1 /* delegate */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.delegate:Z
            return
        end local 1 // boolean delegate
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    1     1  delegate  Z
    MethodParameters:
          Name  Flags
      delegate  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 688
            new java.lang.StringBuilder
            dup
            bipush 32
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 689
            aload 1 /* buf */
            ldc "Name: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 690
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 691
            aload 1 /* buf */
            ldc ", URL: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 692
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         5: .line 693
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            1    6     1   buf  Ljava/lang/StringBuilder;

  public java.lang.String toXml();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
         0: .line 707
            new java.lang.StringBuilder
            dup
            sipush 2048
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 720
            aload 1 /* sb */
            ldc "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 723
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.publicId:Ljava/lang/String;
            ifnull 15
         3: .line 724
            aload 1 /* sb */
            ldc "<!DOCTYPE web-app PUBLIC\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 725
            aload 1 /* sb */
            ldc "  \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 726
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.publicId:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 727
            aload 1 /* sb */
            ldc "\"\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 728
            aload 1 /* sb */
            ldc "  \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 729
            ldc "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.publicId:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 730
            aload 1 /* sb */
            ldc "http://java.sun.com/dtd/web-app_2_2.dtd"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 731
            goto 12
        11: .line 732
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            ldc "http://java.sun.com/dtd/web-app_2_3.dtd"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 734
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "\">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 735
            aload 1 /* sb */
            ldc "<web-app>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 736
            goto 54
        15: .line 737
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* javaeeNamespace */
        start local 2 // java.lang.String javaeeNamespace
        16: .line 738
            aconst_null
            astore 3 /* webXmlSchemaLocation */
        start local 3 // java.lang.String webXmlSchemaLocation
        17: .line 739
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getVersion:()Ljava/lang/String;
            astore 4 /* version */
        start local 4 // java.lang.String version
        18: .line 740
            ldc "2.4"
            aload 4 /* version */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        19: .line 741
            ldc "http://java.sun.com/xml/ns/j2ee"
            astore 2 /* javaeeNamespace */
        20: .line 742
            ldc "http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
            astore 3 /* webXmlSchemaLocation */
        21: .line 743
            goto 37
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
        22: ldc "2.5"
            aload 4 /* version */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        23: .line 744
            ldc "http://java.sun.com/xml/ns/javaee"
            astore 2 /* javaeeNamespace */
        24: .line 745
            ldc "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
            astore 3 /* webXmlSchemaLocation */
        25: .line 746
            goto 37
      StackMap locals:
      StackMap stack:
        26: ldc "3.0"
            aload 4 /* version */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        27: .line 747
            ldc "http://java.sun.com/xml/ns/javaee"
            astore 2 /* javaeeNamespace */
        28: .line 748
            ldc "http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
            astore 3 /* webXmlSchemaLocation */
        29: .line 749
            goto 37
      StackMap locals:
      StackMap stack:
        30: ldc "3.1"
            aload 4 /* version */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 34
        31: .line 750
            ldc "http://xmlns.jcp.org/xml/ns/javaee"
            astore 2 /* javaeeNamespace */
        32: .line 751
            ldc "http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
            astore 3 /* webXmlSchemaLocation */
        33: .line 752
            goto 37
      StackMap locals:
      StackMap stack:
        34: ldc "4.0"
            aload 4 /* version */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 37
        35: .line 753
            ldc "http://xmlns.jcp.org/xml/ns/javaee"
            astore 2 /* javaeeNamespace */
        36: .line 754
            ldc "http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
            astore 3 /* webXmlSchemaLocation */
        37: .line 756
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "<web-app xmlns=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 757
            aload 1 /* sb */
            aload 2 /* javaeeNamespace */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        39: .line 758
            aload 1 /* sb */
            ldc "\"\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        40: .line 759
            aload 1 /* sb */
            ldc "         xmlns:xsi="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 760
            aload 1 /* sb */
            ldc "\"http://www.w3.org/2001/XMLSchema-instance\"\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        42: .line 761
            aload 1 /* sb */
            ldc "         xsi:schemaLocation=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        43: .line 762
            aload 1 /* sb */
            aload 2 /* javaeeNamespace */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        44: .line 763
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        45: .line 764
            aload 1 /* sb */
            aload 3 /* webXmlSchemaLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 765
            aload 1 /* sb */
            ldc "\"\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        47: .line 766
            aload 1 /* sb */
            ldc "         version=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        48: .line 767
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getVersion:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        49: .line 768
            aload 1 /* sb */
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        50: .line 769
            ldc "2.4"
            aload 4 /* version */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 53
        51: .line 770
            aload 1 /* sb */
            ldc ">\n\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        52: .line 771
            goto 54
        53: .line 772
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "\n         metadata-complete=\"true\">\n\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.String version
        end local 3 // java.lang.String webXmlSchemaLocation
        end local 2 // java.lang.String javaeeNamespace
        54: .line 776
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "  "
            ldc "display-name"
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.displayName:Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        55: .line 778
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.isDistributable:()Z
            ifeq 57
        56: .line 779
            aload 1 /* sb */
            ldc "  <distributable/>\n\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        57: .line 782
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.contextParams:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 63
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
        58: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
        59: .line 783
            aload 1 /* sb */
            ldc "  <context-param>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        60: .line 784
            aload 1 /* sb */
            ldc "    "
            ldc "param-name"
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        61: .line 785
            aload 1 /* sb */
            ldc "    "
            ldc "param-value"
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        62: .line 786
            aload 1 /* sb */
            ldc "  </context-param>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.util.Map$Entry entry
        63: .line 782
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 58
        64: .line 788
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        65: .line 791
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 66
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_2
            if_icmple 130
        66: .line 792
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filters:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 94
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
        67: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
        68: .line 793
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.FilterDef
            astore 4 /* filterDef */
        start local 4 // org.apache.tomcat.util.descriptor.web.FilterDef filterDef
        69: .line 794
            aload 1 /* sb */
            ldc "  <filter>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        70: .line 795
            aload 1 /* sb */
            ldc "    "
            ldc "description"
        71: .line 796
            aload 4 /* filterDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getDescription:()Ljava/lang/String;
        72: .line 795
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        73: .line 797
            aload 1 /* sb */
            ldc "    "
            ldc "display-name"
        74: .line 798
            aload 4 /* filterDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getDisplayName:()Ljava/lang/String;
        75: .line 797
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        76: .line 799
            aload 1 /* sb */
            ldc "    "
            ldc "filter-name"
        77: .line 800
            aload 4 /* filterDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterName:()Ljava/lang/String;
        78: .line 799
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        79: .line 801
            aload 1 /* sb */
            ldc "    "
            ldc "filter-class"
        80: .line 802
            aload 4 /* filterDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterClass:()Ljava/lang/String;
        81: .line 801
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        82: .line 804
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpeq 86
        83: .line 805
            aload 1 /* sb */
            ldc "    "
            ldc "async-supported"
        84: .line 806
            aload 4 /* filterDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getAsyncSupported:()Ljava/lang/String;
        85: .line 805
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        86: .line 809
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder java.util.Map$Entry java.util.Iterator org.apache.tomcat.util.descriptor.web.FilterDef
      StackMap stack:
            aload 4 /* filterDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getParameterMap:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 92
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder java.util.Map$Entry java.util.Iterator org.apache.tomcat.util.descriptor.web.FilterDef top java.util.Iterator
      StackMap stack:
        87: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* param */
        start local 5 // java.util.Map$Entry param
        88: .line 810
            aload 1 /* sb */
            ldc "    <init-param>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        89: .line 811
            aload 1 /* sb */
            ldc "      "
            ldc "param-name"
            aload 5 /* param */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        90: .line 812
            aload 1 /* sb */
            ldc "      "
            ldc "param-value"
            aload 5 /* param */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        91: .line 813
            aload 1 /* sb */
            ldc "    </init-param>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.util.Map$Entry param
        92: .line 808
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 87
        93: .line 815
            aload 1 /* sb */
            ldc "  </filter>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.apache.tomcat.util.descriptor.web.FilterDef filterDef
        end local 2 // java.util.Map$Entry entry
        94: .line 792
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 67
        95: .line 817
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        96: .line 819
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filterMaps:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 128
      StackMap locals:
      StackMap stack:
        97: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.FilterMap
            astore 2 /* filterMap */
        start local 2 // org.apache.tomcat.util.descriptor.web.FilterMap filterMap
        98: .line 820
            aload 1 /* sb */
            ldc "  <filter-mapping>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        99: .line 821
            aload 1 /* sb */
            ldc "    "
            ldc "filter-name"
       100: .line 822
            aload 2 /* filterMap */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.getFilterName:()Ljava/lang/String;
       101: .line 821
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       102: .line 823
            aload 2 /* filterMap */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.getMatchAllServletNames:()Z
            ifeq 105
       103: .line 824
            aload 1 /* sb */
            ldc "    <servlet-name>*</servlet-name>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       104: .line 825
            goto 110
       105: .line 826
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.FilterMap java.util.Iterator
      StackMap stack:
            aload 2 /* filterMap */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.getServletNames:()[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 109
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.FilterMap java.util.Iterator top int int java.lang.String[]
      StackMap stack:
       106: aload 7
            iload 5
            aaload
            astore 4 /* servletName */
        start local 4 // java.lang.String servletName
       107: .line 827
            aload 1 /* sb */
            ldc "    "
            ldc "servlet-name"
            aload 4 /* servletName */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // java.lang.String servletName
       108: .line 826
            iinc 5 1
      StackMap locals:
      StackMap stack:
       109: iload 5
            iload 6
            if_icmplt 106
       110: .line 830
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.FilterMap java.util.Iterator
      StackMap stack:
            aload 2 /* filterMap */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.getMatchAllUrlPatterns:()Z
            ifeq 113
       111: .line 831
            aload 1 /* sb */
            ldc "    <url-pattern>*</url-pattern>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       112: .line 832
            goto 118
       113: .line 833
      StackMap locals:
      StackMap stack:
            aload 2 /* filterMap */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.getURLPatterns:()[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 117
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.FilterMap java.util.Iterator top int int java.lang.String[]
      StackMap stack:
       114: aload 7
            iload 5
            aaload
            astore 4 /* urlPattern */
        start local 4 // java.lang.String urlPattern
       115: .line 834
            aload 1 /* sb */
            ldc "    "
            ldc "url-pattern"
            aload 0 /* this */
            aload 4 /* urlPattern */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.encodeUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // java.lang.String urlPattern
       116: .line 833
            iinc 5 1
      StackMap locals:
      StackMap stack:
       117: iload 5
            iload 6
            if_icmplt 114
       118: .line 838
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.FilterMap java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 119
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_3
            if_icmple 127
       119: .line 839
      StackMap locals:
      StackMap stack:
            aload 2 /* filterMap */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.getDispatcherNames:()[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 126
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.FilterMap java.util.Iterator top int int java.lang.String[]
      StackMap stack:
       120: aload 7
            iload 5
            aaload
            astore 4 /* dispatcher */
        start local 4 // java.lang.String dispatcher
       121: .line 840
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpne 124
       122: .line 841
            getstatic jakarta.servlet.DispatcherType.ASYNC:Ljakarta/servlet/DispatcherType;
            invokevirtual jakarta.servlet.DispatcherType.name:()Ljava/lang/String;
            aload 4 /* dispatcher */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 124
       123: .line 842
            goto 125
       124: .line 844
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.FilterMap java.util.Iterator java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 1 /* sb */
            ldc "    "
            ldc "dispatcher"
            aload 4 /* dispatcher */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // java.lang.String dispatcher
       125: .line 839
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.FilterMap java.util.Iterator top int int java.lang.String[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
       126: iload 5
            iload 6
            if_icmplt 120
       127: .line 847
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.FilterMap java.util.Iterator
      StackMap stack:
            aload 1 /* sb */
            ldc "  </filter-mapping>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.FilterMap filterMap
       128: .line 819
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 97
       129: .line 849
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       130: .line 853
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 131
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_2
            if_icmple 138
       131: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.listeners:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 136
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       132: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* listener */
        start local 2 // java.lang.String listener
       133: .line 855
            aload 1 /* sb */
            ldc "  <listener>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       134: .line 856
            aload 1 /* sb */
            ldc "    "
            ldc "listener-class"
            aload 2 /* listener */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       135: .line 857
            aload 1 /* sb */
            ldc "  </listener>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.lang.String listener
       136: .line 854
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 132
       137: .line 859
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       138: .line 862
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servlets:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 198
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       139: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
       140: .line 863
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ServletDef
            astore 4 /* servletDef */
        start local 4 // org.apache.tomcat.util.descriptor.web.ServletDef servletDef
       141: .line 864
            aload 1 /* sb */
            ldc "  <servlet>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       142: .line 865
            aload 1 /* sb */
            ldc "    "
            ldc "description"
       143: .line 866
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getDescription:()Ljava/lang/String;
       144: .line 865
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       145: .line 867
            aload 1 /* sb */
            ldc "    "
            ldc "display-name"
       146: .line 868
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getDisplayName:()Ljava/lang/String;
       147: .line 867
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       148: .line 869
            aload 1 /* sb */
            ldc "    "
            ldc "servlet-name"
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       149: .line 870
            aload 1 /* sb */
            ldc "    "
            ldc "servlet-class"
       150: .line 871
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getServletClass:()Ljava/lang/String;
       151: .line 870
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       152: .line 872
            aload 1 /* sb */
            ldc "    "
            ldc "jsp-file"
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getJspFile:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       153: .line 874
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getParameterMap:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 159
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder java.util.Map$Entry java.util.Iterator org.apache.tomcat.util.descriptor.web.ServletDef top java.util.Iterator
      StackMap stack:
       154: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* param */
        start local 5 // java.util.Map$Entry param
       155: .line 875
            aload 1 /* sb */
            ldc "    <init-param>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       156: .line 876
            aload 1 /* sb */
            ldc "      "
            ldc "param-name"
            aload 5 /* param */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       157: .line 877
            aload 1 /* sb */
            ldc "      "
            ldc "param-value"
            aload 5 /* param */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       158: .line 878
            aload 1 /* sb */
            ldc "    </init-param>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.util.Map$Entry param
       159: .line 873
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 154
       160: .line 880
            aload 1 /* sb */
            ldc "    "
            ldc "load-on-startup"
       161: .line 881
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getLoadOnStartup:()Ljava/lang/Integer;
       162: .line 880
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       163: .line 882
            aload 1 /* sb */
            ldc "    "
            ldc "enabled"
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getEnabled:()Ljava/lang/Boolean;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       164: .line 884
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpeq 168
       165: .line 885
            aload 1 /* sb */
            ldc "    "
            ldc "async-supported"
       166: .line 886
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getAsyncSupported:()Ljava/lang/Boolean;
       167: .line 885
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       168: .line 889
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder java.util.Map$Entry java.util.Iterator org.apache.tomcat.util.descriptor.web.ServletDef
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 169
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_2
            if_icmple 173
       169: .line 890
      StackMap locals:
      StackMap stack:
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getRunAs:()Ljava/lang/String;
            ifnull 173
       170: .line 891
            aload 1 /* sb */
            ldc "    <run-as>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       171: .line 892
            aload 1 /* sb */
            ldc "      "
            ldc "role-name"
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getRunAs:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       172: .line 893
            aload 1 /* sb */
            ldc "    </run-as>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       173: .line 896
      StackMap locals:
      StackMap stack:
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getSecurityRoleRefs:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 179
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder java.util.Map$Entry java.util.Iterator org.apache.tomcat.util.descriptor.web.ServletDef top java.util.Iterator
      StackMap stack:
       174: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.SecurityRoleRef
            astore 5 /* roleRef */
        start local 5 // org.apache.tomcat.util.descriptor.web.SecurityRoleRef roleRef
       175: .line 897
            aload 1 /* sb */
            ldc "    <security-role-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       176: .line 898
            aload 1 /* sb */
            ldc "      "
            ldc "role-name"
            aload 5 /* roleRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityRoleRef.getName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       177: .line 899
            aload 1 /* sb */
            ldc "      "
            ldc "role-link"
            aload 5 /* roleRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityRoleRef.getLink:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       178: .line 900
            aload 1 /* sb */
            ldc "    </security-role-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // org.apache.tomcat.util.descriptor.web.SecurityRoleRef roleRef
       179: .line 896
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 174
       180: .line 903
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpeq 197
       181: .line 904
            aload 4 /* servletDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getMultipartDef:()Lorg/apache/tomcat/util/descriptor/web/MultipartDef;
            astore 5 /* multipartDef */
        start local 5 // org.apache.tomcat.util.descriptor.web.MultipartDef multipartDef
       182: .line 905
            aload 5 /* multipartDef */
            ifnull 197
       183: .line 906
            aload 1 /* sb */
            ldc "    <multipart-config>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       184: .line 907
            aload 1 /* sb */
            ldc "      "
            ldc "location"
       185: .line 908
            aload 5 /* multipartDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getLocation:()Ljava/lang/String;
       186: .line 907
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       187: .line 909
            aload 1 /* sb */
            ldc "      "
            ldc "max-file-size"
       188: .line 910
            aload 5 /* multipartDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxFileSize:()Ljava/lang/String;
       189: .line 909
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       190: .line 911
            aload 1 /* sb */
            ldc "      "
            ldc "max-request-size"
       191: .line 912
            aload 5 /* multipartDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxRequestSize:()Ljava/lang/String;
       192: .line 911
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       193: .line 913
            aload 1 /* sb */
            ldc "      "
            ldc "file-size-threshold"
       194: .line 914
            aload 5 /* multipartDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getFileSizeThreshold:()Ljava/lang/String;
       195: .line 913
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       196: .line 915
            aload 1 /* sb */
            ldc "    </multipart-config>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // org.apache.tomcat.util.descriptor.web.MultipartDef multipartDef
       197: .line 918
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder java.util.Map$Entry java.util.Iterator org.apache.tomcat.util.descriptor.web.ServletDef
      StackMap stack:
            aload 1 /* sb */
            ldc "  </servlet>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.apache.tomcat.util.descriptor.web.ServletDef servletDef
        end local 2 // java.util.Map$Entry entry
       198: .line 862
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 139
       199: .line 920
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       200: .line 922
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servletMappings:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 206
      StackMap locals:
      StackMap stack:
       201: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
       202: .line 923
            aload 1 /* sb */
            ldc "  <servlet-mapping>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       203: .line 924
            aload 1 /* sb */
            ldc "    "
            ldc "servlet-name"
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       204: .line 925
            aload 1 /* sb */
            ldc "    "
            ldc "url-pattern"
            aload 0 /* this */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.encodeUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       205: .line 926
            aload 1 /* sb */
            ldc "  </servlet-mapping>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.util.Map$Entry entry
       206: .line 922
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 201
       207: .line 928
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       208: .line 930
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            ifnull 238
       209: .line 931
            aload 1 /* sb */
            ldc "  <session-config>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       210: .line 932
            aload 1 /* sb */
            ldc "    "
            ldc "session-timeout"
       211: .line 933
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTimeout:()Ljava/lang/Integer;
       212: .line 932
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       213: .line 934
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.majorVersion:I
            iconst_3
            if_icmplt 237
       214: .line 935
            aload 1 /* sb */
            ldc "    <cookie-config>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       215: .line 936
            aload 1 /* sb */
            ldc "      "
            ldc "name"
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       216: .line 937
            aload 1 /* sb */
            ldc "      "
            ldc "domain"
       217: .line 938
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieDomain:()Ljava/lang/String;
       218: .line 937
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       219: .line 939
            aload 1 /* sb */
            ldc "      "
            ldc "path"
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookiePath:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       220: .line 940
            aload 1 /* sb */
            ldc "      "
            ldc "comment"
       221: .line 941
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieComment:()Ljava/lang/String;
       222: .line 940
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       223: .line 942
            aload 1 /* sb */
            ldc "      "
            ldc "http-only"
       224: .line 943
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieHttpOnly:()Ljava/lang/Boolean;
       225: .line 942
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       226: .line 944
            aload 1 /* sb */
            ldc "      "
            ldc "secure"
       227: .line 945
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieSecure:()Ljava/lang/Boolean;
       228: .line 944
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       229: .line 946
            aload 1 /* sb */
            ldc "      "
            ldc "max-age"
       230: .line 947
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieMaxAge:()Ljava/lang/Integer;
       231: .line 946
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       232: .line 948
            aload 1 /* sb */
            ldc "    </cookie-config>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       233: .line 950
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTrackingModes:()Ljava/util/EnumSet;
            invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
            astore 3
            goto 236
      StackMap locals:
      StackMap stack:
       234: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jakarta.servlet.SessionTrackingMode
            astore 2 /* stm */
        start local 2 // jakarta.servlet.SessionTrackingMode stm
       235: .line 951
            aload 1 /* sb */
            ldc "    "
            ldc "tracking-mode"
            aload 2 /* stm */
            invokevirtual jakarta.servlet.SessionTrackingMode.name:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 2 // jakarta.servlet.SessionTrackingMode stm
       236: .line 949
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 234
       237: .line 954
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            ldc "  </session-config>\n\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       238: .line 957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.mimeMappings:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 244
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       239: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
       240: .line 958
            aload 1 /* sb */
            ldc "  <mime-mapping>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       241: .line 959
            aload 1 /* sb */
            ldc "    "
            ldc "extension"
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       242: .line 960
            aload 1 /* sb */
            ldc "    "
            ldc "mime-type"
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       243: .line 961
            aload 1 /* sb */
            ldc "  </mime-mapping>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.util.Map$Entry entry
       244: .line 957
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 239
       245: .line 963
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       246: .line 965
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.welcomeFiles:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ifle 253
       247: .line 966
            aload 1 /* sb */
            ldc "  <welcome-file-list>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       248: .line 967
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.welcomeFiles:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 251
      StackMap locals:
      StackMap stack:
       249: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* welcomeFile */
        start local 2 // java.lang.String welcomeFile
       250: .line 968
            aload 1 /* sb */
            ldc "    "
            ldc "welcome-file"
            aload 2 /* welcomeFile */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 2 // java.lang.String welcomeFile
       251: .line 967
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 249
       252: .line 970
            aload 1 /* sb */
            ldc "  </welcome-file-list>\n\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       253: .line 973
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.errorPages:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 269
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       254: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ErrorPage
            astore 2 /* errorPage */
        start local 2 // org.apache.tomcat.util.descriptor.web.ErrorPage errorPage
       255: .line 974
            aload 2 /* errorPage */
            invokevirtual org.apache.tomcat.util.descriptor.web.ErrorPage.getExceptionType:()Ljava/lang/String;
            astore 4 /* exceptionType */
        start local 4 // java.lang.String exceptionType
       256: .line 975
            aload 2 /* errorPage */
            invokevirtual org.apache.tomcat.util.descriptor.web.ErrorPage.getErrorCode:()I
            istore 5 /* errorCode */
        start local 5 // int errorCode
       257: .line 977
            aload 4 /* exceptionType */
            ifnonnull 259
            iload 5 /* errorCode */
            ifne 259
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpne 259
       258: .line 979
            goto 269
       259: .line 981
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.ErrorPage java.util.Iterator java.lang.String int
      StackMap stack:
            aload 1 /* sb */
            ldc "  <error-page>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       260: .line 982
            aload 2 /* errorPage */
            invokevirtual org.apache.tomcat.util.descriptor.web.ErrorPage.getExceptionType:()Ljava/lang/String;
            ifnull 263
       261: .line 983
            aload 1 /* sb */
            ldc "    "
            ldc "exception-type"
            aload 4 /* exceptionType */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       262: .line 984
            goto 267
      StackMap locals:
      StackMap stack:
       263: aload 2 /* errorPage */
            invokevirtual org.apache.tomcat.util.descriptor.web.ErrorPage.getErrorCode:()I
            ifle 267
       264: .line 985
            aload 1 /* sb */
            ldc "    "
            ldc "error-code"
       265: .line 986
            iload 5 /* errorCode */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
       266: .line 985
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       267: .line 988
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "    "
            ldc "location"
            aload 2 /* errorPage */
            invokevirtual org.apache.tomcat.util.descriptor.web.ErrorPage.getLocation:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       268: .line 989
            aload 1 /* sb */
            ldc "  </error-page>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // int errorCode
        end local 4 // java.lang.String exceptionType
        end local 2 // org.apache.tomcat.util.descriptor.web.ErrorPage errorPage
       269: .line 973
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 254
       270: .line 991
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       271: .line 995
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.taglibs:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifgt 272
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.jspPropertyGroups:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ifle 321
       272: .line 996
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 273
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_3
            if_icmple 274
       273: .line 997
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "  <jsp-config>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       274: .line 999
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.taglibs:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 280
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       275: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
       276: .line 1000
            aload 1 /* sb */
            ldc "    <taglib>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       277: .line 1001
            aload 1 /* sb */
            ldc "      "
            ldc "taglib-uri"
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       278: .line 1002
            aload 1 /* sb */
            ldc "      "
            ldc "taglib-location"
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       279: .line 1003
            aload 1 /* sb */
            ldc "    </taglib>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.util.Map$Entry entry
       280: .line 999
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 275
       281: .line 1005
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 282
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_3
            if_icmple 321
       282: .line 1006
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.jspPropertyGroups:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 319
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       283: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.JspPropertyGroup
            astore 2 /* jpg */
        start local 2 // org.apache.tomcat.util.descriptor.web.JspPropertyGroup jpg
       284: .line 1007
            aload 1 /* sb */
            ldc "    <jsp-property-group>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       285: .line 1008
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getUrlPatterns:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 288
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.JspPropertyGroup java.util.Iterator top java.util.Iterator
      StackMap stack:
       286: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* urlPattern */
        start local 4 // java.lang.String urlPattern
       287: .line 1009
            aload 1 /* sb */
            ldc "      "
            ldc "url-pattern"
            aload 0 /* this */
            aload 4 /* urlPattern */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.encodeUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // java.lang.String urlPattern
       288: .line 1008
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 286
       289: .line 1011
            aload 1 /* sb */
            ldc "      "
            ldc "el-ignored"
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getElIgnored:()Ljava/lang/Boolean;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       290: .line 1012
            aload 1 /* sb */
            ldc "      "
            ldc "page-encoding"
       291: .line 1013
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getPageEncoding:()Ljava/lang/String;
       292: .line 1012
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       293: .line 1014
            aload 1 /* sb */
            ldc "      "
            ldc "scripting-invalid"
       294: .line 1015
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getScriptingInvalid:()Ljava/lang/Boolean;
       295: .line 1014
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       296: .line 1016
            aload 1 /* sb */
            ldc "      "
            ldc "is-xml"
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getIsXml:()Ljava/lang/Boolean;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       297: .line 1017
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getIncludePreludes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 300
      StackMap locals:
      StackMap stack:
       298: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* prelude */
        start local 4 // java.lang.String prelude
       299: .line 1018
            aload 1 /* sb */
            ldc "      "
            ldc "include-prelude"
            aload 4 /* prelude */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // java.lang.String prelude
       300: .line 1017
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 298
       301: .line 1020
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getIncludeCodas:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 304
      StackMap locals:
      StackMap stack:
       302: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* coda */
        start local 4 // java.lang.String coda
       303: .line 1021
            aload 1 /* sb */
            ldc "      "
            ldc "include-coda"
            aload 4 /* coda */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // java.lang.String coda
       304: .line 1020
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 302
       305: .line 1023
            aload 1 /* sb */
            ldc "      "
            ldc "deferred-syntax-allowed-as-literal"
       306: .line 1024
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getDeferredSyntax:()Ljava/lang/Boolean;
       307: .line 1023
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       308: .line 1025
            aload 1 /* sb */
            ldc "      "
            ldc "trim-directive-whitespaces"
       309: .line 1026
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getTrimWhitespace:()Ljava/lang/Boolean;
       310: .line 1025
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       311: .line 1027
            aload 1 /* sb */
            ldc "      "
            ldc "default-content-type"
       312: .line 1028
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getDefaultContentType:()Ljava/lang/String;
       313: .line 1027
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       314: .line 1029
            aload 1 /* sb */
            ldc "      "
            ldc "buffer"
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getBuffer:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       315: .line 1030
            aload 1 /* sb */
            ldc "      "
            ldc "error-on-undeclared-namespace"
       316: .line 1031
            aload 2 /* jpg */
            invokevirtual org.apache.tomcat.util.descriptor.web.JspPropertyGroup.getErrorOnUndeclaredNamespace:()Ljava/lang/Boolean;
       317: .line 1030
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       318: .line 1032
            aload 1 /* sb */
            ldc "    </jsp-property-group>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.JspPropertyGroup jpg
       319: .line 1006
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 283
       320: .line 1034
            aload 1 /* sb */
            ldc "  </jsp-config>\n\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       321: .line 1039
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 322
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_2
            if_icmple 352
       322: .line 1040
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceEnvRefs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 350
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       323: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef
            astore 2 /* resourceEnvRef */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef resourceEnvRef
       324: .line 1041
            aload 1 /* sb */
            ldc "  <resource-env-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       325: .line 1042
            aload 1 /* sb */
            ldc "    "
            ldc "description"
       326: .line 1043
            aload 2 /* resourceEnvRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getDescription:()Ljava/lang/String;
       327: .line 1042
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       328: .line 1044
            aload 1 /* sb */
            ldc "    "
            ldc "resource-env-ref-name"
       329: .line 1045
            aload 2 /* resourceEnvRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getName:()Ljava/lang/String;
       330: .line 1044
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       331: .line 1046
            aload 1 /* sb */
            ldc "    "
            ldc "resource-env-ref-type"
       332: .line 1047
            aload 2 /* resourceEnvRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getType:()Ljava/lang/String;
       333: .line 1046
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       334: .line 1048
            aload 1 /* sb */
            ldc "    "
            ldc "mapped-name"
       335: .line 1049
            aload 2 /* resourceEnvRef */
            ldc "mappedName"
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
       336: .line 1048
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       337: .line 1051
            aload 2 /* resourceEnvRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getInjectionTargets:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 347
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef java.util.Iterator top java.util.Iterator
      StackMap stack:
       338: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.InjectionTarget
            astore 4 /* target */
        start local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       339: .line 1052
            aload 1 /* sb */
            ldc "    <injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       340: .line 1053
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-class"
       341: .line 1054
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetClass:()Ljava/lang/String;
       342: .line 1053
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       343: .line 1055
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-name"
       344: .line 1056
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetName:()Ljava/lang/String;
       345: .line 1055
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       346: .line 1057
            aload 1 /* sb */
            ldc "    </injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       347: .line 1050
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 338
       348: .line 1059
            aload 1 /* sb */
            ldc "    "
            ldc "lookup-name"
            aload 2 /* resourceEnvRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.getLookupName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       349: .line 1060
            aload 1 /* sb */
            ldc "  </resource-env-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef resourceEnvRef
       350: .line 1040
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 323
       351: .line 1062
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       352: .line 1065
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceRefs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 377
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       353: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextResource
            astore 2 /* resourceRef */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextResource resourceRef
       354: .line 1066
            aload 1 /* sb */
            ldc "  <resource-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       355: .line 1067
            aload 1 /* sb */
            ldc "    "
            ldc "description"
       356: .line 1068
            aload 2 /* resourceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getDescription:()Ljava/lang/String;
       357: .line 1067
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       358: .line 1069
            aload 1 /* sb */
            ldc "    "
            ldc "res-ref-name"
            aload 2 /* resourceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       359: .line 1070
            aload 1 /* sb */
            ldc "    "
            ldc "res-type"
            aload 2 /* resourceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getType:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       360: .line 1071
            aload 1 /* sb */
            ldc "    "
            ldc "res-auth"
            aload 2 /* resourceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getAuth:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       361: .line 1073
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 362
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_2
            if_icmple 363
       362: .line 1074
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.ContextResource java.util.Iterator
      StackMap stack:
            aload 1 /* sb */
            ldc "    "
            ldc "res-sharing-scope"
            aload 2 /* resourceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getScope:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       363: .line 1076
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "    "
            ldc "mapped-name"
            aload 2 /* resourceRef */
            ldc "mappedName"
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       364: .line 1077
            aload 2 /* resourceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getInjectionTargets:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 374
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.ContextResource java.util.Iterator top java.util.Iterator
      StackMap stack:
       365: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.InjectionTarget
            astore 4 /* target */
        start local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       366: .line 1078
            aload 1 /* sb */
            ldc "    <injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       367: .line 1079
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-class"
       368: .line 1080
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetClass:()Ljava/lang/String;
       369: .line 1079
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       370: .line 1081
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-name"
       371: .line 1082
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetName:()Ljava/lang/String;
       372: .line 1081
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       373: .line 1083
            aload 1 /* sb */
            ldc "    </injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       374: .line 1077
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 365
       375: .line 1085
            aload 1 /* sb */
            ldc "    "
            ldc "lookup-name"
            aload 2 /* resourceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.getLookupName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       376: .line 1086
            aload 1 /* sb */
            ldc "  </resource-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextResource resourceRef
       377: .line 1065
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 353
       378: .line 1088
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       379: .line 1090
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.securityConstraints:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 428
      StackMap locals:
      StackMap stack:
       380: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.SecurityConstraint
            astore 2 /* constraint */
        start local 2 // org.apache.tomcat.util.descriptor.web.SecurityConstraint constraint
       381: .line 1091
            aload 1 /* sb */
            ldc "  <security-constraint>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       382: .line 1093
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 383
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_2
            if_icmple 386
       383: .line 1094
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.SecurityConstraint java.util.Iterator
      StackMap stack:
            aload 1 /* sb */
            ldc "    "
            ldc "display-name"
       384: .line 1095
            aload 2 /* constraint */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityConstraint.getDisplayName:()Ljava/lang/String;
       385: .line 1094
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       386: .line 1097
      StackMap locals:
      StackMap stack:
            aload 2 /* constraint */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityConstraint.findCollections:()[Lorg/apache/tomcat/util/descriptor/web/SecurityCollection;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 412
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.SecurityConstraint java.util.Iterator top int int org.apache.tomcat.util.descriptor.web.SecurityCollection[]
      StackMap stack:
       387: aload 7
            iload 5
            aaload
            astore 4 /* collection */
        start local 4 // org.apache.tomcat.util.descriptor.web.SecurityCollection collection
       388: .line 1098
            aload 1 /* sb */
            ldc "    <web-resource-collection>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       389: .line 1099
            aload 1 /* sb */
            ldc "      "
            ldc "web-resource-name"
       390: .line 1100
            aload 4 /* collection */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityCollection.getName:()Ljava/lang/String;
       391: .line 1099
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       392: .line 1101
            aload 1 /* sb */
            ldc "      "
            ldc "description"
       393: .line 1102
            aload 4 /* collection */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityCollection.getDescription:()Ljava/lang/String;
       394: .line 1101
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       395: .line 1103
            aload 4 /* collection */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityCollection.findPatterns:()[Ljava/lang/String;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 399
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.SecurityConstraint java.util.Iterator org.apache.tomcat.util.descriptor.web.SecurityCollection int int org.apache.tomcat.util.descriptor.web.SecurityCollection[] top int int java.lang.String[]
      StackMap stack:
       396: aload 11
            iload 9
            aaload
            astore 8 /* urlPattern */
        start local 8 // java.lang.String urlPattern
       397: .line 1104
            aload 1 /* sb */
            ldc "      "
            ldc "url-pattern"
            aload 0 /* this */
            aload 8 /* urlPattern */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.encodeUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 8 // java.lang.String urlPattern
       398: .line 1103
            iinc 9 1
      StackMap locals:
      StackMap stack:
       399: iload 9
            iload 10
            if_icmplt 396
       400: .line 1106
            aload 4 /* collection */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityCollection.findMethods:()[Ljava/lang/String;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 404
      StackMap locals:
      StackMap stack:
       401: aload 11
            iload 9
            aaload
            astore 8 /* method */
        start local 8 // java.lang.String method
       402: .line 1107
            aload 1 /* sb */
            ldc "      "
            ldc "http-method"
            aload 8 /* method */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 8 // java.lang.String method
       403: .line 1106
            iinc 9 1
      StackMap locals:
      StackMap stack:
       404: iload 9
            iload 10
            if_icmplt 401
       405: .line 1109
            aload 4 /* collection */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityCollection.findOmittedMethods:()[Ljava/lang/String;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 409
      StackMap locals:
      StackMap stack:
       406: aload 11
            iload 9
            aaload
            astore 8 /* method */
        start local 8 // java.lang.String method
       407: .line 1110
            aload 1 /* sb */
            ldc "      "
            ldc "http-method-omission"
            aload 8 /* method */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 8 // java.lang.String method
       408: .line 1109
            iinc 9 1
      StackMap locals:
      StackMap stack:
       409: iload 9
            iload 10
            if_icmplt 406
       410: .line 1112
            aload 1 /* sb */
            ldc "    </web-resource-collection>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.apache.tomcat.util.descriptor.web.SecurityCollection collection
       411: .line 1097
            iinc 5 1
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.SecurityConstraint java.util.Iterator top int int org.apache.tomcat.util.descriptor.web.SecurityCollection[]
      StackMap stack:
       412: iload 5
            iload 6
            if_icmplt 387
       413: .line 1114
            aload 2 /* constraint */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityConstraint.findAuthRoles:()[Ljava/lang/String;
            arraylength
            ifle 421
       414: .line 1115
            aload 1 /* sb */
            ldc "    <auth-constraint>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       415: .line 1116
            aload 2 /* constraint */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityConstraint.findAuthRoles:()[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 419
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.SecurityConstraint java.util.Iterator top int int java.lang.String[]
      StackMap stack:
       416: aload 7
            iload 5
            aaload
            astore 4 /* role */
        start local 4 // java.lang.String role
       417: .line 1117
            aload 1 /* sb */
            ldc "      "
            ldc "role-name"
            aload 4 /* role */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // java.lang.String role
       418: .line 1116
            iinc 5 1
      StackMap locals:
      StackMap stack:
       419: iload 5
            iload 6
            if_icmplt 416
       420: .line 1119
            aload 1 /* sb */
            ldc "    </auth-constraint>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       421: .line 1121
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.SecurityConstraint java.util.Iterator
      StackMap stack:
            aload 2 /* constraint */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityConstraint.getUserConstraint:()Ljava/lang/String;
            ifnull 427
       422: .line 1122
            aload 1 /* sb */
            ldc "    <user-data-constraint>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       423: .line 1123
            aload 1 /* sb */
            ldc "      "
            ldc "transport-guarantee"
       424: .line 1124
            aload 2 /* constraint */
            invokevirtual org.apache.tomcat.util.descriptor.web.SecurityConstraint.getUserConstraint:()Ljava/lang/String;
       425: .line 1123
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       426: .line 1125
            aload 1 /* sb */
            ldc "    </user-data-constraint>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       427: .line 1127
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "  </security-constraint>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.SecurityConstraint constraint
       428: .line 1090
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 380
       429: .line 1129
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       430: .line 1131
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
            ifnull 449
       431: .line 1132
            aload 1 /* sb */
            ldc "  <login-config>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       432: .line 1133
            aload 1 /* sb */
            ldc "    "
            ldc "auth-method"
       433: .line 1134
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.LoginConfig.getAuthMethod:()Ljava/lang/String;
       434: .line 1133
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       435: .line 1135
            aload 1 /* sb */
            ldc "    "
            ldc "realm-name"
       436: .line 1136
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.LoginConfig.getRealmName:()Ljava/lang/String;
       437: .line 1135
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       438: .line 1137
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.LoginConfig.getErrorPage:()Ljava/lang/String;
            ifnonnull 440
       439: .line 1138
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.LoginConfig.getLoginPage:()Ljava/lang/String;
            ifnull 448
       440: .line 1139
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            ldc "    <form-login-config>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       441: .line 1140
            aload 1 /* sb */
            ldc "      "
            ldc "form-login-page"
       442: .line 1141
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.LoginConfig.getLoginPage:()Ljava/lang/String;
       443: .line 1140
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       444: .line 1142
            aload 1 /* sb */
            ldc "      "
            ldc "form-error-page"
       445: .line 1143
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.LoginConfig.getErrorPage:()Ljava/lang/String;
       446: .line 1142
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       447: .line 1144
            aload 1 /* sb */
            ldc "    </form-login-config>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       448: .line 1146
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "  </login-config>\n\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       449: .line 1149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.securityRoles:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 454
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       450: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* roleName */
        start local 2 // java.lang.String roleName
       451: .line 1150
            aload 1 /* sb */
            ldc "  <security-role>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       452: .line 1151
            aload 1 /* sb */
            ldc "    "
            ldc "role-name"
            aload 2 /* roleName */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       453: .line 1152
            aload 1 /* sb */
            ldc "  </security-role>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.lang.String roleName
       454: .line 1149
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 450
       455: .line 1155
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.envEntries:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 478
      StackMap locals:
      StackMap stack:
       456: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextEnvironment
            astore 2 /* envEntry */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextEnvironment envEntry
       457: .line 1156
            aload 1 /* sb */
            ldc "  <env-entry>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       458: .line 1157
            aload 1 /* sb */
            ldc "    "
            ldc "description"
       459: .line 1158
            aload 2 /* envEntry */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getDescription:()Ljava/lang/String;
       460: .line 1157
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       461: .line 1159
            aload 1 /* sb */
            ldc "    "
            ldc "env-entry-name"
            aload 2 /* envEntry */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       462: .line 1160
            aload 1 /* sb */
            ldc "    "
            ldc "env-entry-type"
            aload 2 /* envEntry */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getType:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       463: .line 1161
            aload 1 /* sb */
            ldc "    "
            ldc "env-entry-value"
            aload 2 /* envEntry */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getValue:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       464: .line 1162
            aload 1 /* sb */
            ldc "    "
            ldc "mapped-name"
            aload 2 /* envEntry */
            ldc "mappedName"
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       465: .line 1163
            aload 2 /* envEntry */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getInjectionTargets:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 475
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.ContextEnvironment java.util.Iterator top java.util.Iterator
      StackMap stack:
       466: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.InjectionTarget
            astore 4 /* target */
        start local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       467: .line 1164
            aload 1 /* sb */
            ldc "    <injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       468: .line 1165
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-class"
       469: .line 1166
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetClass:()Ljava/lang/String;
       470: .line 1165
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       471: .line 1167
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-name"
       472: .line 1168
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetName:()Ljava/lang/String;
       473: .line 1167
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       474: .line 1169
            aload 1 /* sb */
            ldc "    </injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       475: .line 1163
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 466
       476: .line 1171
            aload 1 /* sb */
            ldc "    "
            ldc "lookup-name"
            aload 2 /* envEntry */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.getLookupName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       477: .line 1172
            aload 1 /* sb */
            ldc "  </env-entry>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextEnvironment envEntry
       478: .line 1155
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 456
       479: .line 1174
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       480: .line 1176
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.ejbRefs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 503
      StackMap locals:
      StackMap stack:
       481: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextEjb
            astore 2 /* ejbRef */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextEjb ejbRef
       482: .line 1177
            aload 1 /* sb */
            ldc "  <ejb-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       483: .line 1178
            aload 1 /* sb */
            ldc "    "
            ldc "description"
            aload 2 /* ejbRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getDescription:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       484: .line 1179
            aload 1 /* sb */
            ldc "    "
            ldc "ejb-ref-name"
            aload 2 /* ejbRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       485: .line 1180
            aload 1 /* sb */
            ldc "    "
            ldc "ejb-ref-type"
            aload 2 /* ejbRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getType:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       486: .line 1181
            aload 1 /* sb */
            ldc "    "
            ldc "home"
            aload 2 /* ejbRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getHome:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       487: .line 1182
            aload 1 /* sb */
            ldc "    "
            ldc "remote"
            aload 2 /* ejbRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getRemote:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       488: .line 1183
            aload 1 /* sb */
            ldc "    "
            ldc "ejb-link"
            aload 2 /* ejbRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getLink:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       489: .line 1184
            aload 1 /* sb */
            ldc "    "
            ldc "mapped-name"
            aload 2 /* ejbRef */
            ldc "mappedName"
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       490: .line 1185
            aload 2 /* ejbRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getInjectionTargets:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 500
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.ContextEjb java.util.Iterator top java.util.Iterator
      StackMap stack:
       491: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.InjectionTarget
            astore 4 /* target */
        start local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       492: .line 1186
            aload 1 /* sb */
            ldc "    <injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       493: .line 1187
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-class"
       494: .line 1188
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetClass:()Ljava/lang/String;
       495: .line 1187
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       496: .line 1189
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-name"
       497: .line 1190
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetName:()Ljava/lang/String;
       498: .line 1189
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       499: .line 1191
            aload 1 /* sb */
            ldc "    </injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       500: .line 1185
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 491
       501: .line 1193
            aload 1 /* sb */
            ldc "    "
            ldc "lookup-name"
            aload 2 /* ejbRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEjb.getLookupName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       502: .line 1194
            aload 1 /* sb */
            ldc "  </ejb-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextEjb ejbRef
       503: .line 1176
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 481
       504: .line 1196
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       505: .line 1199
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 506
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_2
            if_icmple 533
       506: .line 1200
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.ejbLocalRefs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 531
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       507: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextLocalEjb
            astore 2 /* ejbLocalRef */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextLocalEjb ejbLocalRef
       508: .line 1201
            aload 1 /* sb */
            ldc "  <ejb-local-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       509: .line 1202
            aload 1 /* sb */
            ldc "    "
            ldc "description"
       510: .line 1203
            aload 2 /* ejbLocalRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getDescription:()Ljava/lang/String;
       511: .line 1202
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       512: .line 1204
            aload 1 /* sb */
            ldc "    "
            ldc "ejb-ref-name"
            aload 2 /* ejbLocalRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       513: .line 1205
            aload 1 /* sb */
            ldc "    "
            ldc "ejb-ref-type"
            aload 2 /* ejbLocalRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getType:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       514: .line 1206
            aload 1 /* sb */
            ldc "    "
            ldc "local-home"
            aload 2 /* ejbLocalRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getHome:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       515: .line 1207
            aload 1 /* sb */
            ldc "    "
            ldc "local"
            aload 2 /* ejbLocalRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getLocal:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       516: .line 1208
            aload 1 /* sb */
            ldc "    "
            ldc "ejb-link"
            aload 2 /* ejbLocalRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getLink:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       517: .line 1209
            aload 1 /* sb */
            ldc "    "
            ldc "mapped-name"
            aload 2 /* ejbLocalRef */
            ldc "mappedName"
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       518: .line 1210
            aload 2 /* ejbLocalRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getInjectionTargets:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 528
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.ContextLocalEjb java.util.Iterator top java.util.Iterator
      StackMap stack:
       519: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.InjectionTarget
            astore 4 /* target */
        start local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       520: .line 1211
            aload 1 /* sb */
            ldc "    <injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       521: .line 1212
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-class"
       522: .line 1213
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetClass:()Ljava/lang/String;
       523: .line 1212
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       524: .line 1214
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-name"
       525: .line 1215
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetName:()Ljava/lang/String;
       526: .line 1214
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       527: .line 1216
            aload 1 /* sb */
            ldc "    </injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       528: .line 1210
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 519
       529: .line 1218
            aload 1 /* sb */
            ldc "    "
            ldc "lookup-name"
            aload 2 /* ejbLocalRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextLocalEjb.getLookupName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       530: .line 1219
            aload 1 /* sb */
            ldc "  </ejb-local-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextLocalEjb ejbLocalRef
       531: .line 1200
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 507
       532: .line 1221
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       533: .line 1225
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 534
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_3
            if_icmple 600
       534: .line 1226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.serviceRefs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 598
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       535: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ContextService
            astore 2 /* serviceRef */
        start local 2 // org.apache.tomcat.util.descriptor.web.ContextService serviceRef
       536: .line 1227
            aload 1 /* sb */
            ldc "  <service-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       537: .line 1228
            aload 1 /* sb */
            ldc "    "
            ldc "description"
       538: .line 1229
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getDescription:()Ljava/lang/String;
       539: .line 1228
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       540: .line 1230
            aload 1 /* sb */
            ldc "    "
            ldc "display-name"
       541: .line 1231
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getDisplayname:()Ljava/lang/String;
       542: .line 1230
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       543: .line 1232
            aload 1 /* sb */
            ldc "    "
            ldc "service-ref-name"
       544: .line 1233
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getName:()Ljava/lang/String;
       545: .line 1232
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       546: .line 1234
            aload 1 /* sb */
            ldc "    "
            ldc "service-interface"
       547: .line 1235
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getInterface:()Ljava/lang/String;
       548: .line 1234
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       549: .line 1236
            aload 1 /* sb */
            ldc "    "
            ldc "service-ref-type"
       550: .line 1237
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getType:()Ljava/lang/String;
       551: .line 1236
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       552: .line 1238
            aload 1 /* sb */
            ldc "    "
            ldc "wsdl-file"
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getWsdlfile:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       553: .line 1239
            aload 1 /* sb */
            ldc "    "
            ldc "jaxrpc-mapping-file"
       554: .line 1240
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getJaxrpcmappingfile:()Ljava/lang/String;
       555: .line 1239
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       556: .line 1241
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getServiceqnameNamespaceURI:()Ljava/lang/String;
            astore 4 /* qname */
        start local 4 // java.lang.String qname
       557: .line 1242
            aload 4 /* qname */
            ifnull 559
       558: .line 1243
            new java.lang.StringBuilder
            dup
            aload 4 /* qname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* qname */
       559: .line 1245
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.ContextService java.util.Iterator java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* qname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getServiceqnameLocalpart:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* qname */
       560: .line 1246
            aload 1 /* sb */
            ldc "    "
            ldc "service-qname"
            aload 4 /* qname */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       561: .line 1247
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getServiceendpoints:()Ljava/util/Iterator;
            astore 5 /* endpointIter */
        start local 5 // java.util.Iterator endpointIter
       562: .line 1248
            goto 572
       563: .line 1249
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 5 /* endpointIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* endpoint */
        start local 6 // java.lang.String endpoint
       564: .line 1250
            aload 1 /* sb */
            ldc "    <port-component-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       565: .line 1251
            aload 1 /* sb */
            ldc "      "
            ldc "service-endpoint-interface"
       566: .line 1252
            aload 6 /* endpoint */
       567: .line 1251
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       568: .line 1253
            aload 1 /* sb */
            ldc "      "
            ldc "port-component-link"
       569: .line 1254
            aload 2 /* serviceRef */
            aload 6 /* endpoint */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
       570: .line 1253
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       571: .line 1255
            aload 1 /* sb */
            ldc "    </port-component-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 6 // java.lang.String endpoint
       572: .line 1248
      StackMap locals:
      StackMap stack:
            aload 5 /* endpointIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 563
       573: .line 1257
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getHandlers:()Ljava/util/Iterator;
            astore 6 /* handlerIter */
        start local 6 // java.util.Iterator handlerIter
       574: .line 1258
            goto 583
       575: .line 1259
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 6 /* handlerIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* handler */
        start local 7 // java.lang.String handler
       576: .line 1260
            aload 1 /* sb */
            ldc "    <handler>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       577: .line 1261
            aload 2 /* serviceRef */
            aload 7 /* handler */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getHandler:(Ljava/lang/String;)Lorg/apache/tomcat/util/descriptor/web/ContextHandler;
            astore 8 /* ch */
        start local 8 // org.apache.tomcat.util.descriptor.web.ContextHandler ch
       578: .line 1262
            aload 1 /* sb */
            ldc "      "
            ldc "handler-name"
            aload 8 /* ch */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextHandler.getName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       579: .line 1263
            aload 1 /* sb */
            ldc "      "
            ldc "handler-class"
       580: .line 1264
            aload 8 /* ch */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextHandler.getHandlerclass:()Ljava/lang/String;
       581: .line 1263
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       582: .line 1265
            aload 1 /* sb */
            ldc "    </handler>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 8 // org.apache.tomcat.util.descriptor.web.ContextHandler ch
        end local 7 // java.lang.String handler
       583: .line 1258
      StackMap locals:
      StackMap stack:
            aload 6 /* handlerIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 575
       584: .line 1268
            aload 1 /* sb */
            ldc "    "
            ldc "mapped-name"
            aload 2 /* serviceRef */
            ldc "mappedName"
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       585: .line 1269
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getInjectionTargets:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 595
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.ContextService java.util.Iterator java.lang.String java.util.Iterator java.util.Iterator top java.util.Iterator
      StackMap stack:
       586: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.InjectionTarget
            astore 7 /* target */
        start local 7 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       587: .line 1270
            aload 1 /* sb */
            ldc "    <injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       588: .line 1271
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-class"
       589: .line 1272
            aload 7 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetClass:()Ljava/lang/String;
       590: .line 1271
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       591: .line 1273
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-name"
       592: .line 1274
            aload 7 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetName:()Ljava/lang/String;
       593: .line 1273
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       594: .line 1275
            aload 1 /* sb */
            ldc "    </injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       595: .line 1269
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 586
       596: .line 1277
            aload 1 /* sb */
            ldc "    "
            ldc "lookup-name"
            aload 2 /* serviceRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.getLookupName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       597: .line 1278
            aload 1 /* sb */
            ldc "  </service-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 6 // java.util.Iterator handlerIter
        end local 5 // java.util.Iterator endpointIter
        end local 4 // java.lang.String qname
        end local 2 // org.apache.tomcat.util.descriptor.web.ContextService serviceRef
       598: .line 1226
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 535
       599: .line 1280
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       600: .line 1283
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.postConstructMethods:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 614
       601: .line 1284
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.postConstructMethods:Ljava/util/Map;
       602: .line 1285
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 612
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       603: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
       604: .line 1286
            aload 1 /* sb */
            ldc "  <post-construct>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       605: .line 1287
            aload 1 /* sb */
            ldc "    "
            ldc "lifecycle-callback-class"
       606: .line 1288
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
       607: .line 1287
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       608: .line 1289
            aload 1 /* sb */
            ldc "    "
            ldc "lifecycle-callback-method"
       609: .line 1290
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
       610: .line 1289
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       611: .line 1291
            aload 1 /* sb */
            ldc "  </post-construct>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.util.Map$Entry entry
       612: .line 1284
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 603
       613: .line 1293
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       614: .line 1296
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.preDestroyMethods:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 628
       615: .line 1297
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.preDestroyMethods:Ljava/util/Map;
       616: .line 1298
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 626
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       617: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
       618: .line 1299
            aload 1 /* sb */
            ldc "  <pre-destroy>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       619: .line 1300
            aload 1 /* sb */
            ldc "    "
            ldc "lifecycle-callback-class"
       620: .line 1301
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
       621: .line 1300
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       622: .line 1302
            aload 1 /* sb */
            ldc "    "
            ldc "lifecycle-callback-method"
       623: .line 1303
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
       624: .line 1302
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       625: .line 1304
            aload 1 /* sb */
            ldc "  </pre-destroy>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.util.Map$Entry entry
       626: .line 1297
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 617
       627: .line 1306
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       628: .line 1311
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 629
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_3
            if_icmple 674
       629: .line 1312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinationRefs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 659
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       630: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.MessageDestinationRef
            astore 2 /* mdr */
        start local 2 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef mdr
       631: .line 1313
            aload 1 /* sb */
            ldc "  <message-destination-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       632: .line 1314
            aload 1 /* sb */
            ldc "    "
            ldc "description"
            aload 2 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getDescription:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       633: .line 1315
            aload 1 /* sb */
            ldc "    "
            ldc "message-destination-ref-name"
       634: .line 1316
            aload 2 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getName:()Ljava/lang/String;
       635: .line 1315
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       636: .line 1317
            aload 1 /* sb */
            ldc "    "
            ldc "message-destination-type"
       637: .line 1318
            aload 2 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getType:()Ljava/lang/String;
       638: .line 1317
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       639: .line 1319
            aload 1 /* sb */
            ldc "    "
            ldc "message-destination-usage"
       640: .line 1320
            aload 2 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getUsage:()Ljava/lang/String;
       641: .line 1319
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       642: .line 1321
            aload 1 /* sb */
            ldc "    "
            ldc "message-destination-link"
       643: .line 1322
            aload 2 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getLink:()Ljava/lang/String;
       644: .line 1321
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       645: .line 1323
            aload 1 /* sb */
            ldc "    "
            ldc "mapped-name"
            aload 2 /* mdr */
            ldc "mappedName"
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       646: .line 1324
            aload 2 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getInjectionTargets:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 656
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder org.apache.tomcat.util.descriptor.web.MessageDestinationRef java.util.Iterator top java.util.Iterator
      StackMap stack:
       647: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.InjectionTarget
            astore 4 /* target */
        start local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       648: .line 1325
            aload 1 /* sb */
            ldc "    <injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       649: .line 1326
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-class"
       650: .line 1327
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetClass:()Ljava/lang/String;
       651: .line 1326
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       652: .line 1328
            aload 1 /* sb */
            ldc "      "
            ldc "injection-target-name"
       653: .line 1329
            aload 4 /* target */
            invokevirtual org.apache.tomcat.util.descriptor.web.InjectionTarget.getTargetName:()Ljava/lang/String;
       654: .line 1328
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       655: .line 1330
            aload 1 /* sb */
            ldc "    </injection-target>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.apache.tomcat.util.descriptor.web.InjectionTarget target
       656: .line 1324
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 647
       657: .line 1332
            aload 1 /* sb */
            ldc "    "
            ldc "lookup-name"
            aload 2 /* mdr */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.getLookupName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       658: .line 1333
            aload 1 /* sb */
            ldc "  </message-destination-ref>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef mdr
       659: .line 1312
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 630
       660: .line 1335
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       661: .line 1337
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinations:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 672
      StackMap locals:
      StackMap stack:
       662: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.MessageDestination
            astore 2 /* md */
        start local 2 // org.apache.tomcat.util.descriptor.web.MessageDestination md
       663: .line 1338
            aload 1 /* sb */
            ldc "  <message-destination>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       664: .line 1339
            aload 1 /* sb */
            ldc "    "
            ldc "description"
            aload 2 /* md */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestination.getDescription:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       665: .line 1340
            aload 1 /* sb */
            ldc "    "
            ldc "display-name"
            aload 2 /* md */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestination.getDisplayName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       666: .line 1341
            aload 1 /* sb */
            ldc "    "
            ldc "message-destination-name"
       667: .line 1342
            aload 2 /* md */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestination.getName:()Ljava/lang/String;
       668: .line 1341
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       669: .line 1343
            aload 1 /* sb */
            ldc "    "
            ldc "mapped-name"
            aload 2 /* md */
            ldc "mappedName"
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestination.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
       670: .line 1344
            aload 1 /* sb */
            ldc "    "
            ldc "lookup-name"
            aload 2 /* md */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestination.getLookupName:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       671: .line 1345
            aload 1 /* sb */
            ldc "  </message-destination>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.MessageDestination md
       672: .line 1337
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 662
       673: .line 1347
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       674: .line 1351
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_2
            if_icmpgt 675
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            iconst_3
            if_icmple 686
       675: .line 1352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.localeEncodingMappings:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifle 686
       676: .line 1353
            aload 1 /* sb */
            ldc "  <locale-encoding-mapping-list>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       677: .line 1355
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.localeEncodingMappings:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 683
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
       678: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
       679: .line 1356
            aload 1 /* sb */
            ldc "    <locale-encoding-mapping>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       680: .line 1357
            aload 1 /* sb */
            ldc "      "
            ldc "locale"
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       681: .line 1358
            aload 1 /* sb */
            ldc "      "
            ldc "encoding"
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       682: .line 1359
            aload 1 /* sb */
            ldc "    </locale-encoding-mapping>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.util.Map$Entry entry
       683: .line 1354
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 678
       684: .line 1361
            aload 1 /* sb */
            ldc "  </locale-encoding-mapping-list>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       685: .line 1362
            aload 1 /* sb */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       686: .line 1367
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_3
            if_icmpgt 688
       687: .line 1368
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_3
            if_icmpne 691
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMinorVersion:()I
            ifle 691
       688: .line 1369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.denyUncoveredHttpMethods:Z
            ifeq 691
       689: .line 1370
            aload 1 /* sb */
            ldc "  <deny-uncovered-http-methods/>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       690: .line 1371
            aload 1 /* sb */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       691: .line 1376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMajorVersion:()I
            iconst_4
            if_icmplt 694
       692: .line 1377
            aload 1 /* sb */
            ldc "  "
            ldc "request-character-encoding"
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.requestCharacterEncoding:Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       693: .line 1378
            aload 1 /* sb */
            ldc "  "
            ldc "response-character-encoding"
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.responseCharacterEncoding:Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       694: .line 1380
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "</web-app>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       695: .line 1381
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  696     0                  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            1  696     1                    sb  Ljava/lang/StringBuilder;
           16   54     2       javaeeNamespace  Ljava/lang/String;
           17   54     3  webXmlSchemaLocation  Ljava/lang/String;
           18   54     4               version  Ljava/lang/String;
           59   63     2                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           68   94     2                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/FilterDef;>;
           69   94     4             filterDef  Lorg/apache/tomcat/util/descriptor/web/FilterDef;
           88   92     5                 param  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           98  128     2             filterMap  Lorg/apache/tomcat/util/descriptor/web/FilterMap;
          107  108     4           servletName  Ljava/lang/String;
          115  116     4            urlPattern  Ljava/lang/String;
          121  125     4            dispatcher  Ljava/lang/String;
          133  136     2              listener  Ljava/lang/String;
          140  198     2                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ServletDef;>;
          141  198     4            servletDef  Lorg/apache/tomcat/util/descriptor/web/ServletDef;
          155  159     5                 param  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
          175  179     5               roleRef  Lorg/apache/tomcat/util/descriptor/web/SecurityRoleRef;
          182  197     5          multipartDef  Lorg/apache/tomcat/util/descriptor/web/MultipartDef;
          202  206     2                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
          235  236     2                   stm  Ljakarta/servlet/SessionTrackingMode;
          240  244     2                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
          250  251     2           welcomeFile  Ljava/lang/String;
          255  269     2             errorPage  Lorg/apache/tomcat/util/descriptor/web/ErrorPage;
          256  269     4         exceptionType  Ljava/lang/String;
          257  269     5             errorCode  I
          276  280     2                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
          284  319     2                   jpg  Lorg/apache/tomcat/util/descriptor/web/JspPropertyGroup;
          287  288     4            urlPattern  Ljava/lang/String;
          299  300     4               prelude  Ljava/lang/String;
          303  304     4                  coda  Ljava/lang/String;
          324  350     2        resourceEnvRef  Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;
          339  347     4                target  Lorg/apache/tomcat/util/descriptor/web/InjectionTarget;
          354  377     2           resourceRef  Lorg/apache/tomcat/util/descriptor/web/ContextResource;
          366  374     4                target  Lorg/apache/tomcat/util/descriptor/web/InjectionTarget;
          381  428     2            constraint  Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;
          388  411     4            collection  Lorg/apache/tomcat/util/descriptor/web/SecurityCollection;
          397  398     8            urlPattern  Ljava/lang/String;
          402  403     8                method  Ljava/lang/String;
          407  408     8                method  Ljava/lang/String;
          417  418     4                  role  Ljava/lang/String;
          451  454     2              roleName  Ljava/lang/String;
          457  478     2              envEntry  Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
          467  475     4                target  Lorg/apache/tomcat/util/descriptor/web/InjectionTarget;
          482  503     2                ejbRef  Lorg/apache/tomcat/util/descriptor/web/ContextEjb;
          492  500     4                target  Lorg/apache/tomcat/util/descriptor/web/InjectionTarget;
          508  531     2           ejbLocalRef  Lorg/apache/tomcat/util/descriptor/web/ContextLocalEjb;
          520  528     4                target  Lorg/apache/tomcat/util/descriptor/web/InjectionTarget;
          536  598     2            serviceRef  Lorg/apache/tomcat/util/descriptor/web/ContextService;
          557  598     4                 qname  Ljava/lang/String;
          562  598     5          endpointIter  Ljava/util/Iterator<Ljava/lang/String;>;
          564  572     6              endpoint  Ljava/lang/String;
          574  598     6           handlerIter  Ljava/util/Iterator<Ljava/lang/String;>;
          576  583     7               handler  Ljava/lang/String;
          578  583     8                    ch  Lorg/apache/tomcat/util/descriptor/web/ContextHandler;
          587  595     7                target  Lorg/apache/tomcat/util/descriptor/web/InjectionTarget;
          604  612     2                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
          618  626     2                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
          631  659     2                   mdr  Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;
          648  656     4                target  Lorg/apache/tomcat/util/descriptor/web/InjectionTarget;
          663  672     2                    md  Lorg/apache/tomcat/util/descriptor/web/MessageDestination;
          679  683     2                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;

  private java.lang.String encodeUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.lang.String input
         0: .line 1387
            aload 1 /* input */
            ldc "UTF-8"
            invokestatic java.net.URLEncoder.encode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
         1: areturn
         2: .line 1388
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            pop
         3: .line 1390
            aconst_null
            areturn
        end local 1 // java.lang.String input
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    4     1  input  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.UnsupportedEncodingException
    MethodParameters:
       Name  Flags
      input  

  private static void appendElement(java.lang.StringBuilder, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // java.lang.StringBuilder sb
        start local 1 // java.lang.String indent
        start local 2 // java.lang.String elementName
        start local 3 // java.lang.String value
         0: .line 1397
            aload 3 /* value */
            ifnonnull 2
         1: .line 1398
            return
         2: .line 1400
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            invokevirtual java.lang.String.length:()I
            ifne 8
         3: .line 1401
            aload 0 /* sb */
            aload 1 /* indent */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 1402
            aload 0 /* sb */
            bipush 60
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 1403
            aload 0 /* sb */
            aload 2 /* elementName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1404
            aload 0 /* sb */
            ldc "/>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 1405
            goto 16
         8: .line 1406
      StackMap locals:
      StackMap stack:
            aload 0 /* sb */
            aload 1 /* indent */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1407
            aload 0 /* sb */
            bipush 60
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 1408
            aload 0 /* sb */
            aload 2 /* elementName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 1409
            aload 0 /* sb */
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 1410
            aload 0 /* sb */
            aload 3 /* value */
            invokestatic org.apache.tomcat.util.security.Escape.xml:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1411
            aload 0 /* sb */
            ldc "</"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 1412
            aload 0 /* sb */
            aload 2 /* elementName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 1413
            aload 0 /* sb */
            ldc ">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 1415
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String value
        end local 2 // java.lang.String elementName
        end local 1 // java.lang.String indent
        end local 0 // java.lang.StringBuilder sb
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0           sb  Ljava/lang/StringBuilder;
            0   17     1       indent  Ljava/lang/String;
            0   17     2  elementName  Ljava/lang/String;
            0   17     3        value  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      sb           
      indent       
      elementName  
      value        

  private static void appendElement(java.lang.StringBuilder, java.lang.String, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.StringBuilder sb
        start local 1 // java.lang.String indent
        start local 2 // java.lang.String elementName
        start local 3 // java.lang.Object value
         0: .line 1419
            aload 3 /* value */
            ifnonnull 1
            return
         1: .line 1420
      StackMap locals:
      StackMap stack:
            aload 0 /* sb */
            aload 1 /* indent */
            aload 2 /* elementName */
            aload 3 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.appendElement:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         2: .line 1421
            return
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String elementName
        end local 1 // java.lang.String indent
        end local 0 // java.lang.StringBuilder sb
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0           sb  Ljava/lang/StringBuilder;
            0    3     1       indent  Ljava/lang/String;
            0    3     2  elementName  Ljava/lang/String;
            0    3     3        value  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      sb           
      indent       
      elementName  
      value        

  public boolean merge(java.util.Set<org.apache.tomcat.util.descriptor.web.WebXml>);
    descriptor: (Ljava/util/Set;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.util.Set fragments
         0: .line 1437
            new org.apache.tomcat.util.descriptor.web.WebXml
            dup
            invokespecial org.apache.tomcat.util.descriptor.web.WebXml.<init>:()V
            astore 2 /* temp */
        start local 2 // org.apache.tomcat.util.descriptor.web.WebXml temp
         1: .line 1439
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 3 /* fragment */
        start local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
         3: .line 1440
            aload 0 /* this */
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getContextParams:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.contextParams:Ljava/util/Map;
         4: .line 1441
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getContextParams:()Ljava/util/Map;
            aload 3 /* fragment */
            ldc "Context Parameter"
         5: .line 1440
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/lang/String;)Z
         6: .line 1441
            ifne 8
         7: .line 1442
            iconst_0
            ireturn
        end local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
         8: .line 1439
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 1445
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.contextParams:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getContextParams:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        10: .line 1447
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.displayName:Ljava/lang/String;
            ifnonnull 26
        11: .line 1448
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 24
      StackMap locals:
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 3 /* fragment */
        start local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        13: .line 1449
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getDisplayName:()Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
        14: .line 1450
            aload 5 /* value */
            ifnull 24
        15: .line 1451
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getDisplayName:()Ljava/lang/String;
            ifnonnull 18
        16: .line 1452
            aload 2 /* temp */
            aload 5 /* value */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.setDisplayName:(Ljava/lang/String;)V
        17: .line 1453
            goto 24
        18: .line 1454
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
        19: .line 1455
            ldc "webXml.mergeConflictDisplayName"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        20: .line 1456
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        21: .line 1457
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
        22: .line 1454
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
        23: .line 1458
            iconst_0
            ireturn
        end local 5 // java.lang.String value
        end local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        24: .line 1448
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        25: .line 1462
            aload 0 /* this */
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getDisplayName:()Ljava/lang/String;
            putfield org.apache.tomcat.util.descriptor.web.WebXml.displayName:Ljava/lang/String;
        26: .line 1467
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.denyUncoveredHttpMethods:Z
            ifne 33
        27: .line 1468
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 32
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml top java.util.Iterator
      StackMap stack:
        28: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 3 /* fragment */
        start local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        29: .line 1469
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getDenyUncoveredHttpMethods:()Z
            ifeq 32
        30: .line 1470
            aload 0 /* this */
            iconst_1
            putfield org.apache.tomcat.util.descriptor.web.WebXml.denyUncoveredHttpMethods:Z
        31: .line 1471
            goto 33
        end local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        32: .line 1468
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        33: .line 1475
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.requestCharacterEncoding:Ljava/lang/String;
            ifnonnull 39
        34: .line 1476
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 38
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml top java.util.Iterator
      StackMap stack:
        35: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 3 /* fragment */
        start local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        36: .line 1477
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getRequestCharacterEncoding:()Ljava/lang/String;
            ifnull 38
        37: .line 1478
            aload 0 /* this */
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getRequestCharacterEncoding:()Ljava/lang/String;
            putfield org.apache.tomcat.util.descriptor.web.WebXml.requestCharacterEncoding:Ljava/lang/String;
        end local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        38: .line 1476
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        39: .line 1482
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.responseCharacterEncoding:Ljava/lang/String;
            ifnonnull 45
        40: .line 1483
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 44
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml top java.util.Iterator
      StackMap stack:
        41: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 3 /* fragment */
        start local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        42: .line 1484
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getResponseCharacterEncoding:()Ljava/lang/String;
            ifnull 44
        43: .line 1485
            aload 0 /* this */
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getResponseCharacterEncoding:()Ljava/lang/String;
            putfield org.apache.tomcat.util.descriptor.web.WebXml.responseCharacterEncoding:Ljava/lang/String;
        end local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        44: .line 1483
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        45: .line 1490
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.distributable:Z
            ifeq 52
        46: .line 1491
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 51
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml top java.util.Iterator
      StackMap stack:
        47: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 3 /* fragment */
        start local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        48: .line 1492
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.isDistributable:()Z
            ifne 51
        49: .line 1493
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.descriptor.web.WebXml.distributable:Z
        50: .line 1494
            goto 52
        end local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        51: .line 1491
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        52: .line 1499
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml
      StackMap stack:
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 59
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml top java.util.Iterator
      StackMap stack:
        53: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 3 /* fragment */
        start local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        54: .line 1500
            aload 0 /* this */
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getEjbLocalRefs:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.ejbLocalRefs:Ljava/util/Map;
        55: .line 1501
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getEjbLocalRefs:()Ljava/util/Map;
            aload 3 /* fragment */
        56: .line 1500
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeResourceMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;)Z
        57: .line 1501
            ifne 59
        58: .line 1502
            iconst_0
            ireturn
        end local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        59: .line 1499
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 53
        60: .line 1505
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.ejbLocalRefs:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getEjbLocalRefs:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        61: .line 1507
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 68
      StackMap locals:
      StackMap stack:
        62: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 3 /* fragment */
        start local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        63: .line 1508
            aload 0 /* this */
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getEjbRefs:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.ejbRefs:Ljava/util/Map;
        64: .line 1509
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getEjbRefs:()Ljava/util/Map;
            aload 3 /* fragment */
        65: .line 1508
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeResourceMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;)Z
        66: .line 1509
            ifne 68
        67: .line 1510
            iconst_0
            ireturn
        end local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        68: .line 1507
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 62
        69: .line 1513
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.ejbRefs:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getEjbRefs:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        70: .line 1515
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 77
      StackMap locals:
      StackMap stack:
        71: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 3 /* fragment */
        start local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        72: .line 1516
            aload 0 /* this */
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getEnvEntries:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.envEntries:Ljava/util/Map;
        73: .line 1517
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getEnvEntries:()Ljava/util/Map;
            aload 3 /* fragment */
        74: .line 1516
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeResourceMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;)Z
        75: .line 1517
            ifne 77
        76: .line 1518
            iconst_0
            ireturn
        end local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        77: .line 1515
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 71
        78: .line 1521
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.envEntries:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getEnvEntries:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        79: .line 1523
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 86
      StackMap locals:
      StackMap stack:
        80: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 3 /* fragment */
        start local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        81: .line 1524
            aload 0 /* this */
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getErrorPages:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.errorPages:Ljava/util/Map;
        82: .line 1525
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getErrorPages:()Ljava/util/Map;
            aload 3 /* fragment */
            ldc "Error Page"
        83: .line 1524
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/lang/String;)Z
        84: .line 1525
            ifne 86
        85: .line 1526
            iconst_0
            ireturn
        end local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        86: .line 1523
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 80
        87: .line 1529
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.errorPages:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getErrorPages:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        88: .line 1534
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* filterMapsToAdd */
        start local 3 // java.util.List filterMapsToAdd
        89: .line 1535
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 96
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List top java.util.Iterator
      StackMap stack:
        90: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        91: .line 1536
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getFilterMappings:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 95
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator top java.util.Iterator
      StackMap stack:
        92: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.FilterMap
            astore 6 /* filterMap */
        start local 6 // org.apache.tomcat.util.descriptor.web.FilterMap filterMap
        93: .line 1537
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filterMappingNames:Ljava/util/Set;
            aload 6 /* filterMap */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.getFilterName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 95
        94: .line 1538
            aload 3 /* filterMapsToAdd */
            aload 6 /* filterMap */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.apache.tomcat.util.descriptor.web.FilterMap filterMap
        95: .line 1536
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 92
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        96: .line 1535
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 90
        97: .line 1542
            aload 3 /* filterMapsToAdd */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 100
      StackMap locals:
      StackMap stack:
        98: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.FilterMap
            astore 4 /* filterMap */
        start local 4 // org.apache.tomcat.util.descriptor.web.FilterMap filterMap
        99: .line 1544
            aload 0 /* this */
            aload 4 /* filterMap */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addFilterMapping:(Lorg/apache/tomcat/util/descriptor/web/FilterMap;)V
        end local 4 // org.apache.tomcat.util.descriptor.web.FilterMap filterMap
       100: .line 1542
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 98
       101: .line 1547
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 124
      StackMap locals:
      StackMap stack:
       102: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       103: .line 1549
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getFilters:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 123
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator top java.util.Iterator
      StackMap stack:
       104: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
       105: .line 1550
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filters:Ljava/util/Map;
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 110
       106: .line 1551
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.FilterDef
       107: .line 1552
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filters:Ljava/util/Map;
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.FilterDef
            iconst_0
       108: .line 1551
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.mergeFilter:(Lorg/apache/tomcat/util/descriptor/web/FilterDef;Lorg/apache/tomcat/util/descriptor/web/FilterDef;Z)Z
            pop
       109: .line 1553
            goto 123
       110: .line 1554
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getFilters:()Ljava/util/Map;
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 122
       111: .line 1555
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.FilterDef
       112: .line 1556
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getFilters:()Ljava/util/Map;
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.FilterDef
            iconst_1
       113: .line 1555
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.mergeFilter:(Lorg/apache/tomcat/util/descriptor/web/FilterDef;Lorg/apache/tomcat/util/descriptor/web/FilterDef;Z)Z
       114: .line 1556
            ifne 123
       115: .line 1557
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       116: .line 1558
            ldc "webXml.mergeConflictFilter"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
       117: .line 1559
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aastore
            dup
            iconst_1
       118: .line 1560
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
       119: .line 1561
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       120: .line 1557
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
       121: .line 1563
            iconst_0
            ireturn
       122: .line 1566
      StackMap locals:
      StackMap stack:
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getFilters:()Ljava/util/Map;
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.FilterDef
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.util.Map$Entry entry
       123: .line 1548
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 104
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       124: .line 1547
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 102
       125: .line 1571
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.filters:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getFilters:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       126: .line 1573
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 132
      StackMap locals:
      StackMap stack:
       127: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       128: .line 1575
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getJspPropertyGroups:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 131
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator top java.util.Iterator
      StackMap stack:
       129: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.JspPropertyGroup
            astore 6 /* jspPropertyGroup */
        start local 6 // org.apache.tomcat.util.descriptor.web.JspPropertyGroup jspPropertyGroup
       130: .line 1577
            aload 0 /* this */
            aload 6 /* jspPropertyGroup */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addJspPropertyGroup:(Lorg/apache/tomcat/util/descriptor/web/JspPropertyGroup;)V
        end local 6 // org.apache.tomcat.util.descriptor.web.JspPropertyGroup jspPropertyGroup
       131: .line 1574
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 129
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       132: .line 1573
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 127
       133: .line 1581
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 139
      StackMap locals:
      StackMap stack:
       134: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       135: .line 1582
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getListeners:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 138
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator top java.util.Iterator
      StackMap stack:
       136: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* listener */
        start local 6 // java.lang.String listener
       137: .line 1584
            aload 0 /* this */
            aload 6 /* listener */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addListener:(Ljava/lang/String;)V
        end local 6 // java.lang.String listener
       138: .line 1582
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 136
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       139: .line 1581
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 134
       140: .line 1588
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 148
      StackMap locals:
      StackMap stack:
       141: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       142: .line 1589
            aload 0 /* this */
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getLocaleEncodingMappings:()Ljava/util/Map;
       143: .line 1590
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.localeEncodingMappings:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getLocaleEncodingMappings:()Ljava/util/Map;
       144: .line 1591
            aload 4 /* fragment */
            ldc "Locale Encoding Mapping"
       145: .line 1589
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/lang/String;)Z
       146: .line 1591
            ifne 148
       147: .line 1592
            iconst_0
            ireturn
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       148: .line 1588
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 141
       149: .line 1595
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.localeEncodingMappings:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getLocaleEncodingMappings:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       150: .line 1597
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getLoginConfig:()Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
            ifnonnull 167
       151: .line 1598
            aconst_null
            astore 4 /* tempLoginConfig */
        start local 4 // org.apache.tomcat.util.descriptor.web.LoginConfig tempLoginConfig
       152: .line 1599
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 165
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List org.apache.tomcat.util.descriptor.web.LoginConfig top java.util.Iterator
      StackMap stack:
       153: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       154: .line 1600
            aload 5 /* fragment */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
            astore 7 /* fragmentLoginConfig */
        start local 7 // org.apache.tomcat.util.descriptor.web.LoginConfig fragmentLoginConfig
       155: .line 1601
            aload 7 /* fragmentLoginConfig */
            ifnull 165
       156: .line 1602
            aload 4 /* tempLoginConfig */
            ifnull 158
       157: .line 1603
            aload 7 /* fragmentLoginConfig */
            aload 4 /* tempLoginConfig */
            invokevirtual org.apache.tomcat.util.descriptor.web.LoginConfig.equals:(Ljava/lang/Object;)Z
            ifeq 160
       158: .line 1604
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List org.apache.tomcat.util.descriptor.web.LoginConfig org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator org.apache.tomcat.util.descriptor.web.LoginConfig
      StackMap stack:
            aload 7 /* fragmentLoginConfig */
            astore 4 /* tempLoginConfig */
       159: .line 1605
            goto 165
       160: .line 1606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       161: .line 1607
            ldc "webXml.mergeConflictLoginConfig"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       162: .line 1608
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
       163: .line 1609
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       164: .line 1606
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
        end local 7 // org.apache.tomcat.util.descriptor.web.LoginConfig fragmentLoginConfig
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       165: .line 1599
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List org.apache.tomcat.util.descriptor.web.LoginConfig top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 153
       166: .line 1613
            aload 0 /* this */
            aload 4 /* tempLoginConfig */
            putfield org.apache.tomcat.util.descriptor.web.WebXml.loginConfig:Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
        end local 4 // org.apache.tomcat.util.descriptor.web.LoginConfig tempLoginConfig
       167: .line 1616
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List
      StackMap stack:
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 174
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List top java.util.Iterator
      StackMap stack:
       168: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       169: .line 1617
            aload 0 /* this */
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMessageDestinationRefs:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinationRefs:Ljava/util/Map;
       170: .line 1618
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMessageDestinationRefs:()Ljava/util/Map;
            aload 4 /* fragment */
       171: .line 1617
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeResourceMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;)Z
       172: .line 1618
            ifne 174
       173: .line 1619
            iconst_0
            ireturn
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       174: .line 1616
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 168
       175: .line 1622
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinationRefs:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMessageDestinationRefs:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       176: .line 1624
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 183
      StackMap locals:
      StackMap stack:
       177: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       178: .line 1625
            aload 0 /* this */
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMessageDestinations:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinations:Ljava/util/Map;
       179: .line 1626
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMessageDestinations:()Ljava/util/Map;
            aload 4 /* fragment */
       180: .line 1625
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeResourceMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;)Z
       181: .line 1626
            ifne 183
       182: .line 1627
            iconst_0
            ireturn
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       183: .line 1624
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 177
       184: .line 1630
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.messageDestinations:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMessageDestinations:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       185: .line 1632
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 192
      StackMap locals:
      StackMap stack:
       186: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       187: .line 1633
            aload 0 /* this */
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMimeMappings:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.mimeMappings:Ljava/util/Map;
       188: .line 1634
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMimeMappings:()Ljava/util/Map;
            aload 4 /* fragment */
            ldc "Mime Mapping"
       189: .line 1633
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/lang/String;)Z
       190: .line 1634
            ifne 192
       191: .line 1635
            iconst_0
            ireturn
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       192: .line 1632
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 186
       193: .line 1638
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.mimeMappings:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getMimeMappings:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       194: .line 1640
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 201
      StackMap locals:
      StackMap stack:
       195: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       196: .line 1641
            aload 0 /* this */
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getResourceEnvRefs:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceEnvRefs:Ljava/util/Map;
       197: .line 1642
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getResourceEnvRefs:()Ljava/util/Map;
            aload 4 /* fragment */
       198: .line 1641
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeResourceMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;)Z
       199: .line 1642
            ifne 201
       200: .line 1643
            iconst_0
            ireturn
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       201: .line 1640
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 195
       202: .line 1646
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceEnvRefs:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getResourceEnvRefs:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       203: .line 1648
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 210
      StackMap locals:
      StackMap stack:
       204: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       205: .line 1649
            aload 0 /* this */
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getResourceRefs:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceRefs:Ljava/util/Map;
       206: .line 1650
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getResourceRefs:()Ljava/util/Map;
            aload 4 /* fragment */
       207: .line 1649
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeResourceMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;)Z
       208: .line 1650
            ifne 210
       209: .line 1651
            iconst_0
            ireturn
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       210: .line 1648
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 204
       211: .line 1654
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.resourceRefs:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getResourceRefs:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       212: .line 1656
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 218
      StackMap locals:
      StackMap stack:
       213: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       214: .line 1657
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSecurityConstraints:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 217
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator top java.util.Iterator
      StackMap stack:
       215: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.SecurityConstraint
            astore 6 /* constraint */
        start local 6 // org.apache.tomcat.util.descriptor.web.SecurityConstraint constraint
       216: .line 1659
            aload 0 /* this */
            aload 6 /* constraint */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addSecurityConstraint:(Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;)V
        end local 6 // org.apache.tomcat.util.descriptor.web.SecurityConstraint constraint
       217: .line 1657
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 215
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       218: .line 1656
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 213
       219: .line 1663
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 225
      StackMap locals:
      StackMap stack:
       220: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       221: .line 1664
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSecurityRoles:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 224
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator top java.util.Iterator
      StackMap stack:
       222: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* role */
        start local 6 // java.lang.String role
       223: .line 1666
            aload 0 /* this */
            aload 6 /* role */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addSecurityRole:(Ljava/lang/String;)V
        end local 6 // java.lang.String role
       224: .line 1664
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 222
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       225: .line 1663
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 220
       226: .line 1670
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 233
      StackMap locals:
      StackMap stack:
       227: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* fragment */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       228: .line 1671
            aload 0 /* this */
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getServiceRefs:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.serviceRefs:Ljava/util/Map;
       229: .line 1672
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getServiceRefs:()Ljava/util/Map;
            aload 4 /* fragment */
       230: .line 1671
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeResourceMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;)Z
       231: .line 1672
            ifne 233
       232: .line 1673
            iconst_0
            ireturn
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       233: .line 1670
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 227
       234: .line 1676
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.serviceRefs:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getServiceRefs:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       235: .line 1683
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* servletMappingsToAdd */
        start local 4 // java.util.List servletMappingsToAdd
       236: .line 1684
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 244
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
       237: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       238: .line 1686
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getServletMappings:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 243
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator top java.util.Iterator
      StackMap stack:
       239: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* servletMap */
        start local 7 // java.util.Map$Entry servletMap
       240: .line 1687
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servletMappingNames:Ljava/util/Set;
            aload 7 /* servletMap */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 243
       241: .line 1688
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servletMappings:Ljava/util/Map;
            aload 7 /* servletMap */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 243
       242: .line 1689
            aload 4 /* servletMappingsToAdd */
            aload 7 /* servletMap */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.util.Map$Entry servletMap
       243: .line 1685
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 239
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       244: .line 1684
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 237
       245: .line 1695
            aload 4 /* servletMappingsToAdd */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 248
      StackMap locals:
      StackMap stack:
       246: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* mapping */
        start local 5 // java.util.Map$Entry mapping
       247: .line 1696
            aload 0 /* this */
            aload 5 /* mapping */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 5 /* mapping */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addServletMappingDecoded:(Ljava/lang/String;Ljava/lang/String;)V
        end local 5 // java.util.Map$Entry mapping
       248: .line 1695
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 246
       249: .line 1699
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 272
      StackMap locals:
      StackMap stack:
       250: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       251: .line 1701
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getServlets:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 271
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator top java.util.Iterator
      StackMap stack:
       252: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* entry */
        start local 7 // java.util.Map$Entry entry
       253: .line 1702
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servlets:Ljava/util/Map;
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 258
       254: .line 1703
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ServletDef
       255: .line 1704
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servlets:Ljava/util/Map;
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ServletDef
            iconst_0
       256: .line 1703
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.mergeServlet:(Lorg/apache/tomcat/util/descriptor/web/ServletDef;Lorg/apache/tomcat/util/descriptor/web/ServletDef;Z)Z
            pop
       257: .line 1705
            goto 271
       258: .line 1706
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getServlets:()Ljava/util/Map;
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 270
       259: .line 1707
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ServletDef
       260: .line 1708
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getServlets:()Ljava/util/Map;
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ServletDef
            iconst_1
       261: .line 1707
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.mergeServlet:(Lorg/apache/tomcat/util/descriptor/web/ServletDef;Lorg/apache/tomcat/util/descriptor/web/ServletDef;Z)Z
       262: .line 1708
            ifne 271
       263: .line 1709
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       264: .line 1710
            ldc "webXml.mergeConflictServlet"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
       265: .line 1711
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aastore
            dup
            iconst_1
       266: .line 1712
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
       267: .line 1713
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       268: .line 1709
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
       269: .line 1715
            iconst_0
            ireturn
       270: .line 1718
      StackMap locals:
      StackMap stack:
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getServlets:()Ljava/util/Map;
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ServletDef
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.util.Map$Entry entry
       271: .line 1700
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 252
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       272: .line 1699
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 250
       273: .line 1723
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.servlets:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getServlets:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       274: .line 1725
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTimeout:()Ljava/lang/Integer;
            ifnonnull 297
       275: .line 1726
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 292
      StackMap locals:
      StackMap stack:
       276: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       277: .line 1727
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTimeout:()Ljava/lang/Integer;
            astore 7 /* value */
        start local 7 // java.lang.Integer value
       278: .line 1728
            aload 7 /* value */
            ifnull 292
       279: .line 1729
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTimeout:()Ljava/lang/Integer;
            ifnonnull 282
       280: .line 1730
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            aload 7 /* value */
            invokevirtual java.lang.Integer.toString:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setSessionTimeout:(Ljava/lang/String;)V
       281: .line 1731
            goto 292
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.lang.Integer
      StackMap stack:
       282: aload 7 /* value */
       283: .line 1732
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTimeout:()Ljava/lang/Integer;
       284: .line 1731
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
       285: .line 1732
            ifne 292
       286: .line 1735
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       287: .line 1736
            ldc "webXml.mergeConflictSessionTimeout"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       288: .line 1737
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
       289: .line 1738
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       290: .line 1735
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
       291: .line 1739
            iconst_0
            ireturn
        end local 7 // java.lang.Integer value
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       292: .line 1726
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 276
       293: .line 1743
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTimeout:()Ljava/lang/Integer;
            ifnull 297
       294: .line 1744
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
       295: .line 1745
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTimeout:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.toString:()Ljava/lang/String;
       296: .line 1744
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setSessionTimeout:(Ljava/lang/String;)V
       297: .line 1749
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieName:()Ljava/lang/String;
            ifnonnull 319
       298: .line 1750
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 315
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
       299: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       300: .line 1751
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieName:()Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
       301: .line 1752
            aload 7 /* value */
            ifnull 315
       302: .line 1753
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieName:()Ljava/lang/String;
            ifnonnull 305
       303: .line 1754
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            aload 7 /* value */
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieName:(Ljava/lang/String;)V
       304: .line 1755
            goto 315
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.lang.String
      StackMap stack:
       305: aload 7 /* value */
       306: .line 1756
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieName:()Ljava/lang/String;
       307: .line 1755
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
       308: .line 1756
            ifne 315
       309: .line 1759
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       310: .line 1760
            ldc "webXml.mergeConflictSessionCookieName"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       311: .line 1761
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
       312: .line 1762
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       313: .line 1759
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
       314: .line 1763
            iconst_0
            ireturn
        end local 7 // java.lang.String value
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       315: .line 1750
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 299
       316: .line 1767
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
       317: .line 1768
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieName:()Ljava/lang/String;
       318: .line 1767
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieName:(Ljava/lang/String;)V
       319: .line 1770
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieDomain:()Ljava/lang/String;
            ifnonnull 341
       320: .line 1771
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 337
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
       321: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       322: .line 1772
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieDomain:()Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
       323: .line 1773
            aload 7 /* value */
            ifnull 337
       324: .line 1774
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieDomain:()Ljava/lang/String;
            ifnonnull 327
       325: .line 1775
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            aload 7 /* value */
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieDomain:(Ljava/lang/String;)V
       326: .line 1776
            goto 337
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.lang.String
      StackMap stack:
       327: aload 7 /* value */
       328: .line 1777
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieDomain:()Ljava/lang/String;
       329: .line 1776
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
       330: .line 1777
            ifne 337
       331: .line 1780
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       332: .line 1781
            ldc "webXml.mergeConflictSessionCookieDomain"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       333: .line 1782
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
       334: .line 1783
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       335: .line 1780
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
       336: .line 1784
            iconst_0
            ireturn
        end local 7 // java.lang.String value
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       337: .line 1771
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 321
       338: .line 1788
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
       339: .line 1789
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieDomain:()Ljava/lang/String;
       340: .line 1788
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieDomain:(Ljava/lang/String;)V
       341: .line 1791
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookiePath:()Ljava/lang/String;
            ifnonnull 363
       342: .line 1792
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 359
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
       343: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       344: .line 1793
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookiePath:()Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
       345: .line 1794
            aload 7 /* value */
            ifnull 359
       346: .line 1795
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookiePath:()Ljava/lang/String;
            ifnonnull 349
       347: .line 1796
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            aload 7 /* value */
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookiePath:(Ljava/lang/String;)V
       348: .line 1797
            goto 359
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.lang.String
      StackMap stack:
       349: aload 7 /* value */
       350: .line 1798
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookiePath:()Ljava/lang/String;
       351: .line 1797
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
       352: .line 1798
            ifne 359
       353: .line 1801
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       354: .line 1802
            ldc "webXml.mergeConflictSessionCookiePath"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       355: .line 1803
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
       356: .line 1804
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       357: .line 1801
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
       358: .line 1805
            iconst_0
            ireturn
        end local 7 // java.lang.String value
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       359: .line 1792
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 343
       360: .line 1809
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
       361: .line 1810
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookiePath:()Ljava/lang/String;
       362: .line 1809
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookiePath:(Ljava/lang/String;)V
       363: .line 1812
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieComment:()Ljava/lang/String;
            ifnonnull 385
       364: .line 1813
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 381
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
       365: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       366: .line 1814
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieComment:()Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
       367: .line 1815
            aload 7 /* value */
            ifnull 381
       368: .line 1816
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieComment:()Ljava/lang/String;
            ifnonnull 371
       369: .line 1817
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            aload 7 /* value */
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieComment:(Ljava/lang/String;)V
       370: .line 1818
            goto 381
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.lang.String
      StackMap stack:
       371: aload 7 /* value */
       372: .line 1819
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieComment:()Ljava/lang/String;
       373: .line 1818
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
       374: .line 1819
            ifne 381
       375: .line 1822
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       376: .line 1823
            ldc "webXml.mergeConflictSessionCookieComment"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       377: .line 1824
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
       378: .line 1825
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       379: .line 1822
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
       380: .line 1826
            iconst_0
            ireturn
        end local 7 // java.lang.String value
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       381: .line 1813
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 365
       382: .line 1830
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
       383: .line 1831
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieComment:()Ljava/lang/String;
       384: .line 1830
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieComment:(Ljava/lang/String;)V
       385: .line 1833
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieHttpOnly:()Ljava/lang/Boolean;
            ifnonnull 408
       386: .line 1834
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 403
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
       387: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       388: .line 1835
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieHttpOnly:()Ljava/lang/Boolean;
            astore 7 /* value */
        start local 7 // java.lang.Boolean value
       389: .line 1836
            aload 7 /* value */
            ifnull 403
       390: .line 1837
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieHttpOnly:()Ljava/lang/Boolean;
            ifnonnull 393
       391: .line 1838
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            aload 7 /* value */
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieHttpOnly:(Ljava/lang/String;)V
       392: .line 1839
            goto 403
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.lang.Boolean
      StackMap stack:
       393: aload 7 /* value */
       394: .line 1840
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieHttpOnly:()Ljava/lang/Boolean;
       395: .line 1839
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
       396: .line 1840
            ifne 403
       397: .line 1843
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       398: .line 1844
            ldc "webXml.mergeConflictSessionCookieHttpOnly"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       399: .line 1845
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
       400: .line 1846
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       401: .line 1843
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
       402: .line 1847
            iconst_0
            ireturn
        end local 7 // java.lang.Boolean value
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       403: .line 1834
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 387
       404: .line 1851
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieHttpOnly:()Ljava/lang/Boolean;
            ifnull 408
       405: .line 1852
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
       406: .line 1853
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieHttpOnly:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
       407: .line 1852
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieHttpOnly:(Ljava/lang/String;)V
       408: .line 1856
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieSecure:()Ljava/lang/Boolean;
            ifnonnull 431
       409: .line 1857
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 426
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
       410: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       411: .line 1858
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieSecure:()Ljava/lang/Boolean;
            astore 7 /* value */
        start local 7 // java.lang.Boolean value
       412: .line 1859
            aload 7 /* value */
            ifnull 426
       413: .line 1860
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieSecure:()Ljava/lang/Boolean;
            ifnonnull 416
       414: .line 1861
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            aload 7 /* value */
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieSecure:(Ljava/lang/String;)V
       415: .line 1862
            goto 426
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.lang.Boolean
      StackMap stack:
       416: aload 7 /* value */
       417: .line 1863
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieSecure:()Ljava/lang/Boolean;
       418: .line 1862
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
       419: .line 1863
            ifne 426
       420: .line 1866
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       421: .line 1867
            ldc "webXml.mergeConflictSessionCookieSecure"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       422: .line 1868
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
       423: .line 1869
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       424: .line 1866
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
       425: .line 1870
            iconst_0
            ireturn
        end local 7 // java.lang.Boolean value
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       426: .line 1857
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 410
       427: .line 1874
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieSecure:()Ljava/lang/Boolean;
            ifnull 431
       428: .line 1875
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
       429: .line 1876
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieSecure:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
       430: .line 1875
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieSecure:(Ljava/lang/String;)V
       431: .line 1879
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieMaxAge:()Ljava/lang/Integer;
            ifnonnull 454
       432: .line 1880
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 449
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
       433: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       434: .line 1881
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieMaxAge:()Ljava/lang/Integer;
            astore 7 /* value */
        start local 7 // java.lang.Integer value
       435: .line 1882
            aload 7 /* value */
            ifnull 449
       436: .line 1883
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieMaxAge:()Ljava/lang/Integer;
            ifnonnull 439
       437: .line 1884
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            aload 7 /* value */
            invokevirtual java.lang.Integer.toString:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieMaxAge:(Ljava/lang/String;)V
       438: .line 1885
            goto 449
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.lang.Integer
      StackMap stack:
       439: aload 7 /* value */
       440: .line 1886
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieMaxAge:()Ljava/lang/Integer;
       441: .line 1885
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
       442: .line 1886
            ifne 449
       443: .line 1889
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       444: .line 1890
            ldc "webXml.mergeConflictSessionCookieMaxAge"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       445: .line 1891
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
       446: .line 1892
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       447: .line 1889
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
       448: .line 1893
            iconst_0
            ireturn
        end local 7 // java.lang.Integer value
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       449: .line 1880
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 433
       450: .line 1897
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieMaxAge:()Ljava/lang/Integer;
            ifnull 454
       451: .line 1898
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
       452: .line 1899
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getCookieMaxAge:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.toString:()Ljava/lang/String;
       453: .line 1898
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.setCookieMaxAge:(Ljava/lang/String;)V
       454: .line 1903
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTrackingModes:()Ljava/util/EnumSet;
            invokevirtual java.util.EnumSet.size:()I
            ifne 477
       455: .line 1904
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 473
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
       456: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       457: .line 1906
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTrackingModes:()Ljava/util/EnumSet;
       458: .line 1905
            astore 7 /* value */
        start local 7 // java.util.EnumSet value
       459: .line 1907
            aload 7 /* value */
            invokevirtual java.util.EnumSet.size:()I
            ifle 473
       460: .line 1908
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTrackingModes:()Ljava/util/EnumSet;
            invokevirtual java.util.EnumSet.size:()I
            ifne 463
       461: .line 1909
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTrackingModes:()Ljava/util/EnumSet;
            aload 7 /* value */
            invokevirtual java.util.EnumSet.addAll:(Ljava/util/Collection;)Z
            pop
       462: .line 1910
            goto 473
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.util.EnumSet
      StackMap stack:
       463: aload 7 /* value */
       464: .line 1911
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTrackingModes:()Ljava/util/EnumSet;
       465: .line 1910
            invokevirtual java.util.EnumSet.equals:(Ljava/lang/Object;)Z
       466: .line 1911
            ifne 473
       467: .line 1914
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
       468: .line 1915
            ldc "webXml.mergeConflictSessionTrackingMode"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       469: .line 1916
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
       470: .line 1917
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
       471: .line 1914
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
       472: .line 1918
            iconst_0
            ireturn
        end local 7 // java.util.EnumSet value
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       473: .line 1904
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 456
       474: .line 1922
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.sessionConfig:Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTrackingModes:()Ljava/util/EnumSet;
       475: .line 1923
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getSessionConfig:()Lorg/apache/tomcat/util/descriptor/web/SessionConfig;
            invokevirtual org.apache.tomcat.util.descriptor.web.SessionConfig.getSessionTrackingModes:()Ljava/util/EnumSet;
       476: .line 1922
            invokevirtual java.util.EnumSet.addAll:(Ljava/util/Collection;)Z
            pop
       477: .line 1926
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List
      StackMap stack:
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 484
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
       478: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       479: .line 1927
            aload 0 /* this */
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getTaglibs:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.taglibs:Ljava/util/Map;
       480: .line 1928
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getTaglibs:()Ljava/util/Map;
            aload 5 /* fragment */
            ldc "Taglibs"
       481: .line 1927
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeMap:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/lang/String;)Z
       482: .line 1928
            ifne 484
       483: .line 1929
            iconst_0
            ireturn
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       484: .line 1926
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 478
       485: .line 1932
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.taglibs:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getTaglibs:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       486: .line 1934
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 493
      StackMap locals:
      StackMap stack:
       487: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       488: .line 1935
            aload 5 /* fragment */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.alwaysAddWelcomeFiles:Z
            ifne 489
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.welcomeFiles:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ifne 493
       489: .line 1936
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator
      StackMap stack:
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getWelcomeFiles:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 492
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator top java.util.Iterator
      StackMap stack:
       490: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* welcomeFile */
        start local 7 // java.lang.String welcomeFile
       491: .line 1937
            aload 0 /* this */
            aload 7 /* welcomeFile */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addWelcomeFile:(Ljava/lang/String;)V
        end local 7 // java.lang.String welcomeFile
       492: .line 1936
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 490
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       493: .line 1934
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 487
       494: .line 1942
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.postConstructMethods:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 505
       495: .line 1943
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 503
      StackMap locals:
      StackMap stack:
       496: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       497: .line 1944
            aload 0 /* this */
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getPostConstructMethods:()Ljava/util/Map;
       498: .line 1945
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getPostConstructMethods:()Ljava/util/Map;
            aload 5 /* fragment */
       499: .line 1946
            ldc "Post Construct Methods"
       500: .line 1944
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeLifecycleCallback:(Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/lang/String;)Z
       501: .line 1946
            ifne 503
       502: .line 1947
            iconst_0
            ireturn
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       503: .line 1943
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 496
       504: .line 1950
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.postConstructMethods:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getPostConstructMethods:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       505: .line 1953
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.preDestroyMethods:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 516
       506: .line 1954
            aload 1 /* fragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 514
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List top java.util.Iterator
      StackMap stack:
       507: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       508: .line 1955
            aload 0 /* this */
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getPreDestroyMethods:()Ljava/util/Map;
       509: .line 1956
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getPreDestroyMethods:()Ljava/util/Map;
            aload 5 /* fragment */
       510: .line 1957
            ldc "Pre Destroy Methods"
       511: .line 1955
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.mergeLifecycleCallback:(Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/lang/String;)Z
       512: .line 1957
            ifne 514
       513: .line 1958
            iconst_0
            ireturn
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       514: .line 1954
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 507
       515: .line 1961
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.preDestroyMethods:Ljava/util/Map;
            aload 2 /* temp */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getPreDestroyMethods:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
       516: .line 1964
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.List java.util.List
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.util.List servletMappingsToAdd
        end local 3 // java.util.List filterMapsToAdd
        end local 2 // org.apache.tomcat.util.descriptor.web.WebXml temp
        end local 1 // java.util.Set fragments
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  517     0                  this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0  517     1             fragments  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            1  517     2                  temp  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            3    8     3              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           13   24     3              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           14   24     5                 value  Ljava/lang/String;
           29   32     3              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           36   38     3              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           42   44     3              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           48   51     3              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           54   59     3              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           63   68     3              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           72   77     3              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           81   86     3              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           89  517     3       filterMapsToAdd  Ljava/util/List<Lorg/apache/tomcat/util/descriptor/web/FilterMap;>;
           91   96     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           93   95     6             filterMap  Lorg/apache/tomcat/util/descriptor/web/FilterMap;
           99  100     4             filterMap  Lorg/apache/tomcat/util/descriptor/web/FilterMap;
          103  124     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          105  123     6                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/FilterDef;>;
          128  132     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          130  131     6      jspPropertyGroup  Lorg/apache/tomcat/util/descriptor/web/JspPropertyGroup;
          135  139     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          137  138     6              listener  Ljava/lang/String;
          142  148     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          152  167     4       tempLoginConfig  Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
          154  165     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          155  165     7   fragmentLoginConfig  Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
          169  174     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          178  183     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          187  192     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          196  201     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          205  210     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          214  218     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          216  217     6            constraint  Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;
          221  225     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          223  224     6                  role  Ljava/lang/String;
          228  233     4              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          236  517     4  servletMappingsToAdd  Ljava/util/List<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;
          238  244     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          240  243     7            servletMap  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
          247  248     5               mapping  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
          251  272     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          253  271     7                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/ServletDef;>;
          277  292     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          278  292     7                 value  Ljava/lang/Integer;
          300  315     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          301  315     7                 value  Ljava/lang/String;
          322  337     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          323  337     7                 value  Ljava/lang/String;
          344  359     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          345  359     7                 value  Ljava/lang/String;
          366  381     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          367  381     7                 value  Ljava/lang/String;
          388  403     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          389  403     7                 value  Ljava/lang/Boolean;
          411  426     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          412  426     7                 value  Ljava/lang/Boolean;
          434  449     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          435  449     7                 value  Ljava/lang/Integer;
          457  473     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          459  473     7                 value  Ljava/util/EnumSet<Ljakarta/servlet/SessionTrackingMode;>;
          479  484     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          488  493     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          491  492     7           welcomeFile  Ljava/lang/String;
          497  503     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          508  514     5              fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: (Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;)Z
    MethodParameters:
           Name  Flags
      fragments  

  private <T extends org.apache.tomcat.util.descriptor.web.ResourceBase> boolean mergeResourceMap(java.util.Map<java.lang.String, T>, java.util.Map<java.lang.String, T>, java.util.Map<java.lang.String, T>, org.apache.tomcat.util.descriptor.web.WebXml);
    descriptor: (Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.util.Map fragmentResources
        start local 2 // java.util.Map mainResources
        start local 3 // java.util.Map tempResources
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
         0: .line 1970
            aload 1 /* fragmentResources */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 19
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map java.util.Map java.util.Map org.apache.tomcat.util.descriptor.web.WebXml top java.util.Iterator
      StackMap stack:
         1: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ResourceBase
            astore 5 /* resource */
        start local 5 // org.apache.tomcat.util.descriptor.web.ResourceBase resource
         2: .line 1971
            aload 5 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ResourceBase.getName:()Ljava/lang/String;
            astore 7 /* resourceName */
        start local 7 // java.lang.String resourceName
         3: .line 1972
            aload 2 /* mainResources */
            aload 7 /* resourceName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 8
         4: .line 1973
            aload 2 /* mainResources */
            aload 7 /* resourceName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ResourceBase
            invokevirtual org.apache.tomcat.util.descriptor.web.ResourceBase.getInjectionTargets:()Ljava/util/List;
         5: .line 1974
            aload 5 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ResourceBase.getInjectionTargets:()Ljava/util/List;
         6: .line 1973
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 1975
            goto 19
         8: .line 1977
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map java.util.Map java.util.Map org.apache.tomcat.util.descriptor.web.WebXml org.apache.tomcat.util.descriptor.web.ResourceBase java.util.Iterator java.lang.String
      StackMap stack:
            aload 3 /* tempResources */
            aload 7 /* resourceName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.ResourceBase
            astore 8 /* existingResource */
        start local 8 // org.apache.tomcat.util.descriptor.web.ResourceBase existingResource
         9: .line 1978
            aload 8 /* existingResource */
            ifnull 18
        10: .line 1979
            aload 8 /* existingResource */
            aload 5 /* resource */
            invokevirtual org.apache.tomcat.util.descriptor.web.ResourceBase.equals:(Ljava/lang/Object;)Z
            ifne 19
        11: .line 1980
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
        12: .line 1981
            ldc "webXml.mergeConflictResource"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        13: .line 1982
            aload 7 /* resourceName */
            aastore
            dup
            iconst_1
        14: .line 1983
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        15: .line 1984
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
        16: .line 1980
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
        17: .line 1985
            iconst_0
            ireturn
        18: .line 1988
      StackMap locals: org.apache.tomcat.util.descriptor.web.ResourceBase
      StackMap stack:
            aload 3 /* tempResources */
            aload 7 /* resourceName */
            aload 5 /* resource */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // org.apache.tomcat.util.descriptor.web.ResourceBase existingResource
        end local 7 // java.lang.String resourceName
        end local 5 // org.apache.tomcat.util.descriptor.web.ResourceBase resource
        19: .line 1970
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map java.util.Map java.util.Map org.apache.tomcat.util.descriptor.web.WebXml top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        20: .line 1992
            iconst_1
            ireturn
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        end local 3 // java.util.Map tempResources
        end local 2 // java.util.Map mainResources
        end local 1 // java.util.Map fragmentResources
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   21     0               this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0   21     1  fragmentResources  Ljava/util/Map<Ljava/lang/String;TT;>;
            0   21     2      mainResources  Ljava/util/Map<Ljava/lang/String;TT;>;
            0   21     3      tempResources  Ljava/util/Map<Ljava/lang/String;TT;>;
            0   21     4           fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            2   19     5           resource  TT;
            3   19     7       resourceName  Ljava/lang/String;
            9   19     8   existingResource  TT;
    Signature: <T:Lorg/apache/tomcat/util/descriptor/web/ResourceBase;>(Ljava/util/Map<Ljava/lang/String;TT;>;Ljava/util/Map<Ljava/lang/String;TT;>;Ljava/util/Map<Ljava/lang/String;TT;>;Lorg/apache/tomcat/util/descriptor/web/WebXml;)Z
    MethodParameters:
                   Name  Flags
      fragmentResources  
      mainResources      
      tempResources      
      fragment           

  private <T> boolean mergeMap(java.util.Map<java.lang.String, T>, java.util.Map<java.lang.String, T>, java.util.Map<java.lang.String, T>, org.apache.tomcat.util.descriptor.web.WebXml, java.lang.String);
    descriptor: (Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=6
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.util.Map fragmentMap
        start local 2 // java.util.Map mainMap
        start local 3 // java.util.Map tempMap
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        start local 5 // java.lang.String mapName
         0: .line 1998
            aload 1 /* fragmentMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 19
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map java.util.Map java.util.Map org.apache.tomcat.util.descriptor.web.WebXml java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
         2: .line 1999
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* key */
        start local 8 // java.lang.String key
         3: .line 2000
            aload 2 /* mainMap */
            aload 8 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 19
         4: .line 2002
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 9 /* value */
        start local 9 // java.lang.Object value
         5: .line 2003
            aload 3 /* tempMap */
            aload 8 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 18
         6: .line 2004
            aload 9 /* value */
            ifnull 19
            aload 9 /* value */
         7: .line 2005
            aload 3 /* tempMap */
            aload 8 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
         8: .line 2004
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
         9: .line 2005
            ifne 19
        10: .line 2006
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
        11: .line 2007
            ldc "webXml.mergeConflictString"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 2008
            aload 5 /* mapName */
            aastore
            dup
            iconst_1
        13: .line 2009
            aload 8 /* key */
            aastore
            dup
            iconst_2
        14: .line 2010
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
        15: .line 2011
            aload 4 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
        16: .line 2006
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
        17: .line 2012
            iconst_0
            ireturn
        18: .line 2015
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map java.util.Map java.util.Map org.apache.tomcat.util.descriptor.web.WebXml java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.Object
      StackMap stack:
            aload 3 /* tempMap */
            aload 8 /* key */
            aload 9 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.Object value
        end local 8 // java.lang.String key
        end local 6 // java.util.Map$Entry entry
        19: .line 1998
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map java.util.Map java.util.Map org.apache.tomcat.util.descriptor.web.WebXml java.lang.String top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        20: .line 2019
            iconst_1
            ireturn
        end local 5 // java.lang.String mapName
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        end local 3 // java.util.Map tempMap
        end local 2 // java.util.Map mainMap
        end local 1 // java.util.Map fragmentMap
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0   21     1  fragmentMap  Ljava/util/Map<Ljava/lang/String;TT;>;
            0   21     2      mainMap  Ljava/util/Map<Ljava/lang/String;TT;>;
            0   21     3      tempMap  Ljava/util/Map<Ljava/lang/String;TT;>;
            0   21     4     fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0   21     5      mapName  Ljava/lang/String;
            2   19     6        entry  Ljava/util/Map$Entry<Ljava/lang/String;TT;>;
            3   19     8          key  Ljava/lang/String;
            5   19     9        value  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Map<Ljava/lang/String;TT;>;Ljava/util/Map<Ljava/lang/String;TT;>;Ljava/util/Map<Ljava/lang/String;TT;>;Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/lang/String;)Z
    MethodParameters:
             Name  Flags
      fragmentMap  
      mainMap      
      tempMap      
      fragment     
      mapName      

  private static boolean mergeFilter(org.apache.tomcat.util.descriptor.web.FilterDef, org.apache.tomcat.util.descriptor.web.FilterDef, boolean);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/FilterDef;Lorg/apache/tomcat/util/descriptor/web/FilterDef;Z)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.FilterDef src
        start local 1 // org.apache.tomcat.util.descriptor.web.FilterDef dest
        start local 2 // boolean failOnConflict
         0: .line 2024
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getAsyncSupported:()Ljava/lang/String;
            ifnonnull 3
         1: .line 2025
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getAsyncSupported:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.setAsyncSupported:(Ljava/lang/String;)V
         2: .line 2026
            goto 7
      StackMap locals:
      StackMap stack:
         3: aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getAsyncSupported:()Ljava/lang/String;
            ifnull 7
         4: .line 2027
            iload 2 /* failOnConflict */
            ifeq 7
         5: .line 2028
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getAsyncSupported:()Ljava/lang/String;
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getAsyncSupported:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 2029
            iconst_0
            ireturn
         7: .line 2033
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterClass:()Ljava/lang/String;
            ifnonnull 10
         8: .line 2034
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterClass:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.setFilterClass:(Ljava/lang/String;)V
         9: .line 2035
            goto 14
      StackMap locals:
      StackMap stack:
        10: aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterClass:()Ljava/lang/String;
            ifnull 14
        11: .line 2036
            iload 2 /* failOnConflict */
            ifeq 14
        12: .line 2037
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterClass:()Ljava/lang/String;
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterClass:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
        13: .line 2038
            iconst_0
            ireturn
        14: .line 2043
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getParameterMap:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 23
      StackMap locals: org.apache.tomcat.util.descriptor.web.FilterDef org.apache.tomcat.util.descriptor.web.FilterDef int top java.util.Iterator
      StackMap stack:
        15: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* srcEntry */
        start local 3 // java.util.Map$Entry srcEntry
        16: .line 2044
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getParameterMap:()Ljava/util/Map;
            aload 3 /* srcEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 22
        17: .line 2045
            iload 2 /* failOnConflict */
            ifeq 23
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getParameterMap:()Ljava/util/Map;
        18: .line 2046
            aload 3 /* srcEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
        19: .line 2045
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
        20: .line 2046
            aload 3 /* srcEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
        21: .line 2047
            iconst_0
            ireturn
        22: .line 2050
      StackMap locals: org.apache.tomcat.util.descriptor.web.FilterDef org.apache.tomcat.util.descriptor.web.FilterDef int java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 1 /* dest */
            aload 3 /* srcEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* srcEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.addInitParameter:(Ljava/lang/String;Ljava/lang/String;)V
        end local 3 // java.util.Map$Entry srcEntry
        23: .line 2042
      StackMap locals: org.apache.tomcat.util.descriptor.web.FilterDef org.apache.tomcat.util.descriptor.web.FilterDef int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        24: .line 2053
            iconst_1
            ireturn
        end local 2 // boolean failOnConflict
        end local 1 // org.apache.tomcat.util.descriptor.web.FilterDef dest
        end local 0 // org.apache.tomcat.util.descriptor.web.FilterDef src
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   25     0             src  Lorg/apache/tomcat/util/descriptor/web/FilterDef;
            0   25     1            dest  Lorg/apache/tomcat/util/descriptor/web/FilterDef;
            0   25     2  failOnConflict  Z
           16   23     3        srcEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
                Name  Flags
      src             
      dest            
      failOnConflict  

  private static boolean mergeServlet(org.apache.tomcat.util.descriptor.web.ServletDef, org.apache.tomcat.util.descriptor.web.ServletDef, boolean);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/ServletDef;Lorg/apache/tomcat/util/descriptor/web/ServletDef;Z)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.ServletDef src
        start local 1 // org.apache.tomcat.util.descriptor.web.ServletDef dest
        start local 2 // boolean failOnConflict
         0: .line 2059
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getServletClass:()Ljava/lang/String;
            ifnull 2
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getJspFile:()Ljava/lang/String;
            ifnull 2
         1: .line 2060
            iconst_0
            ireturn
         2: .line 2062
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getServletClass:()Ljava/lang/String;
            ifnull 4
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getJspFile:()Ljava/lang/String;
            ifnull 4
         3: .line 2063
            iconst_0
            ireturn
         4: .line 2067
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getServletClass:()Ljava/lang/String;
            ifnonnull 8
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getJspFile:()Ljava/lang/String;
            ifnonnull 8
         5: .line 2068
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getServletClass:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.setServletClass:(Ljava/lang/String;)V
         6: .line 2069
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getJspFile:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.setJspFile:(Ljava/lang/String;)V
         7: .line 2070
            goto 17
      StackMap locals:
      StackMap stack:
         8: iload 2 /* failOnConflict */
            ifeq 17
         9: .line 2071
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getServletClass:()Ljava/lang/String;
            ifnull 13
        10: .line 2072
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getJspFile:()Ljava/lang/String;
            ifnonnull 12
        11: .line 2073
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getServletClass:()Ljava/lang/String;
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getServletClass:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 2074
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        13: .line 2076
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getJspFile:()Ljava/lang/String;
            ifnull 17
        14: .line 2077
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getServletClass:()Ljava/lang/String;
            ifnonnull 16
        15: .line 2078
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getJspFile:()Ljava/lang/String;
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getJspFile:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        16: .line 2079
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        17: .line 2084
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getSecurityRoleRefs:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 20
      StackMap locals: org.apache.tomcat.util.descriptor.web.ServletDef org.apache.tomcat.util.descriptor.web.ServletDef int top java.util.Iterator
      StackMap stack:
        18: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.SecurityRoleRef
            astore 3 /* securityRoleRef */
        start local 3 // org.apache.tomcat.util.descriptor.web.SecurityRoleRef securityRoleRef
        19: .line 2085
            aload 1 /* dest */
            aload 3 /* securityRoleRef */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.addSecurityRoleRef:(Lorg/apache/tomcat/util/descriptor/web/SecurityRoleRef;)V
        end local 3 // org.apache.tomcat.util.descriptor.web.SecurityRoleRef securityRoleRef
        20: .line 2084
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        21: .line 2088
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getLoadOnStartup:()Ljava/lang/Integer;
            ifnonnull 25
        22: .line 2089
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getLoadOnStartup:()Ljava/lang/Integer;
            ifnull 29
        23: .line 2090
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getLoadOnStartup:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.toString:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.setLoadOnStartup:(Ljava/lang/String;)V
        24: .line 2092
            goto 29
      StackMap locals: org.apache.tomcat.util.descriptor.web.ServletDef org.apache.tomcat.util.descriptor.web.ServletDef int
      StackMap stack:
        25: aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getLoadOnStartup:()Ljava/lang/Integer;
            ifnull 29
        26: .line 2093
            iload 2 /* failOnConflict */
            ifeq 29
        27: .line 2094
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getLoadOnStartup:()Ljava/lang/Integer;
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getLoadOnStartup:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifne 29
        28: .line 2095
            iconst_0
            ireturn
        29: .line 2099
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getEnabled:()Ljava/lang/Boolean;
            ifnonnull 33
        30: .line 2100
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getEnabled:()Ljava/lang/Boolean;
            ifnull 37
        31: .line 2101
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getEnabled:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.setEnabled:(Ljava/lang/String;)V
        32: .line 2103
            goto 37
      StackMap locals:
      StackMap stack:
        33: aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getEnabled:()Ljava/lang/Boolean;
            ifnull 37
        34: .line 2104
            iload 2 /* failOnConflict */
            ifeq 37
        35: .line 2105
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getEnabled:()Ljava/lang/Boolean;
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getEnabled:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifne 37
        36: .line 2106
            iconst_0
            ireturn
        37: .line 2111
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getParameterMap:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 46
      StackMap locals: org.apache.tomcat.util.descriptor.web.ServletDef org.apache.tomcat.util.descriptor.web.ServletDef int top java.util.Iterator
      StackMap stack:
        38: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* srcEntry */
        start local 3 // java.util.Map$Entry srcEntry
        39: .line 2112
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getParameterMap:()Ljava/util/Map;
            aload 3 /* srcEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 45
        40: .line 2113
            iload 2 /* failOnConflict */
            ifeq 46
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getParameterMap:()Ljava/util/Map;
        41: .line 2114
            aload 3 /* srcEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
        42: .line 2113
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
        43: .line 2114
            aload 3 /* srcEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 46
        44: .line 2115
            iconst_0
            ireturn
        45: .line 2118
      StackMap locals: org.apache.tomcat.util.descriptor.web.ServletDef org.apache.tomcat.util.descriptor.web.ServletDef int java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 1 /* dest */
            aload 3 /* srcEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* srcEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.addInitParameter:(Ljava/lang/String;Ljava/lang/String;)V
        end local 3 // java.util.Map$Entry srcEntry
        46: .line 2110
      StackMap locals: org.apache.tomcat.util.descriptor.web.ServletDef org.apache.tomcat.util.descriptor.web.ServletDef int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        47: .line 2122
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getMultipartDef:()Lorg/apache/tomcat/util/descriptor/web/MultipartDef;
            ifnonnull 50
        48: .line 2123
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getMultipartDef:()Lorg/apache/tomcat/util/descriptor/web/MultipartDef;
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.setMultipartDef:(Lorg/apache/tomcat/util/descriptor/web/MultipartDef;)V
        49: .line 2124
            goto 54
      StackMap locals: org.apache.tomcat.util.descriptor.web.ServletDef org.apache.tomcat.util.descriptor.web.ServletDef int
      StackMap stack:
        50: aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getMultipartDef:()Lorg/apache/tomcat/util/descriptor/web/MultipartDef;
            ifnull 54
        51: .line 2125
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getMultipartDef:()Lorg/apache/tomcat/util/descriptor/web/MultipartDef;
        52: .line 2126
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getMultipartDef:()Lorg/apache/tomcat/util/descriptor/web/MultipartDef;
            iload 2 /* failOnConflict */
        53: .line 2125
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.mergeMultipartDef:(Lorg/apache/tomcat/util/descriptor/web/MultipartDef;Lorg/apache/tomcat/util/descriptor/web/MultipartDef;Z)Z
            ireturn
        54: .line 2129
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getAsyncSupported:()Ljava/lang/Boolean;
            ifnonnull 58
        55: .line 2130
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getAsyncSupported:()Ljava/lang/Boolean;
            ifnull 62
        56: .line 2131
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getAsyncSupported:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.setAsyncSupported:(Ljava/lang/String;)V
        57: .line 2133
            goto 62
      StackMap locals:
      StackMap stack:
        58: aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getAsyncSupported:()Ljava/lang/Boolean;
            ifnull 62
        59: .line 2134
            iload 2 /* failOnConflict */
            ifeq 62
        60: .line 2135
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getAsyncSupported:()Ljava/lang/Boolean;
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.ServletDef.getAsyncSupported:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifne 62
        61: .line 2136
            iconst_0
            ireturn
        62: .line 2140
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // boolean failOnConflict
        end local 1 // org.apache.tomcat.util.descriptor.web.ServletDef dest
        end local 0 // org.apache.tomcat.util.descriptor.web.ServletDef src
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   63     0              src  Lorg/apache/tomcat/util/descriptor/web/ServletDef;
            0   63     1             dest  Lorg/apache/tomcat/util/descriptor/web/ServletDef;
            0   63     2   failOnConflict  Z
           19   20     3  securityRoleRef  Lorg/apache/tomcat/util/descriptor/web/SecurityRoleRef;
           39   46     3         srcEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
                Name  Flags
      src             
      dest            
      failOnConflict  

  private static boolean mergeMultipartDef(org.apache.tomcat.util.descriptor.web.MultipartDef, org.apache.tomcat.util.descriptor.web.MultipartDef, boolean);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/MultipartDef;Lorg/apache/tomcat/util/descriptor/web/MultipartDef;Z)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.MultipartDef src
        start local 1 // org.apache.tomcat.util.descriptor.web.MultipartDef dest
        start local 2 // boolean failOnConflict
         0: .line 2146
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getLocation:()Ljava/lang/String;
            ifnonnull 3
         1: .line 2147
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getLocation:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.setLocation:(Ljava/lang/String;)V
         2: .line 2148
            goto 7
      StackMap locals:
      StackMap stack:
         3: aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getLocation:()Ljava/lang/String;
            ifnull 7
         4: .line 2149
            iload 2 /* failOnConflict */
            ifeq 7
         5: .line 2150
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getLocation:()Ljava/lang/String;
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getLocation:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 2151
            iconst_0
            ireturn
         7: .line 2155
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getFileSizeThreshold:()Ljava/lang/String;
            ifnonnull 10
         8: .line 2156
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getFileSizeThreshold:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.setFileSizeThreshold:(Ljava/lang/String;)V
         9: .line 2157
            goto 17
      StackMap locals:
      StackMap stack:
        10: aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getFileSizeThreshold:()Ljava/lang/String;
            ifnull 17
        11: .line 2158
            iload 2 /* failOnConflict */
            ifeq 17
        12: .line 2159
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getFileSizeThreshold:()Ljava/lang/String;
        13: .line 2160
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getFileSizeThreshold:()Ljava/lang/String;
        14: .line 2159
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        15: .line 2160
            ifne 17
        16: .line 2161
            iconst_0
            ireturn
        17: .line 2165
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxFileSize:()Ljava/lang/String;
            ifnonnull 20
        18: .line 2166
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxFileSize:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.setMaxFileSize:(Ljava/lang/String;)V
        19: .line 2167
            goto 24
      StackMap locals:
      StackMap stack:
        20: aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxFileSize:()Ljava/lang/String;
            ifnull 24
        21: .line 2168
            iload 2 /* failOnConflict */
            ifeq 24
        22: .line 2169
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxFileSize:()Ljava/lang/String;
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxFileSize:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
        23: .line 2170
            iconst_0
            ireturn
        24: .line 2174
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxRequestSize:()Ljava/lang/String;
            ifnonnull 27
        25: .line 2175
            aload 1 /* dest */
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxRequestSize:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.setMaxRequestSize:(Ljava/lang/String;)V
        26: .line 2176
            goto 34
      StackMap locals:
      StackMap stack:
        27: aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxRequestSize:()Ljava/lang/String;
            ifnull 34
        28: .line 2177
            iload 2 /* failOnConflict */
            ifeq 34
        29: .line 2178
            aload 0 /* src */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxRequestSize:()Ljava/lang/String;
        30: .line 2179
            aload 1 /* dest */
            invokevirtual org.apache.tomcat.util.descriptor.web.MultipartDef.getMaxRequestSize:()Ljava/lang/String;
        31: .line 2178
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        32: .line 2179
            ifne 34
        33: .line 2180
            iconst_0
            ireturn
        34: .line 2184
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // boolean failOnConflict
        end local 1 // org.apache.tomcat.util.descriptor.web.MultipartDef dest
        end local 0 // org.apache.tomcat.util.descriptor.web.MultipartDef src
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   35     0             src  Lorg/apache/tomcat/util/descriptor/web/MultipartDef;
            0   35     1            dest  Lorg/apache/tomcat/util/descriptor/web/MultipartDef;
            0   35     2  failOnConflict  Z
    MethodParameters:
                Name  Flags
      src             
      dest            
      failOnConflict  

  private boolean mergeLifecycleCallback(java.util.Map<java.lang.String, java.lang.String>, java.util.Map<java.lang.String, java.lang.String>, org.apache.tomcat.util.descriptor.web.WebXml, java.lang.String);
    descriptor: (Ljava/util/Map;Ljava/util/Map;Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.util.Map fragmentMap
        start local 2 // java.util.Map tempMap
        start local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        start local 4 // java.lang.String mapName
         0: .line 2191
            aload 1 /* fragmentMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map java.util.Map org.apache.tomcat.util.descriptor.web.WebXml java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         2: .line 2192
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* key */
        start local 7 // java.lang.String key
         3: .line 2193
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* value */
        start local 8 // java.lang.String value
         4: .line 2194
            aload 2 /* tempMap */
            aload 7 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 10
         5: .line 2195
            aload 8 /* value */
            ifnull 11
            aload 8 /* value */
            aload 2 /* tempMap */
            aload 7 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         6: .line 2196
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.mergeConflictString"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 2197
            aload 4 /* mapName */
            aastore
            dup
            iconst_1
            aload 7 /* key */
            aastore
            dup
            iconst_2
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 3 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getURL:()Ljava/net/URL;
            aastore
         8: .line 2196
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
         9: .line 2198
            iconst_0
            ireturn
        10: .line 2201
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map java.util.Map org.apache.tomcat.util.descriptor.web.WebXml java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* tempMap */
            aload 7 /* key */
            aload 8 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.String value
        end local 7 // java.lang.String key
        end local 5 // java.util.Map$Entry entry
        11: .line 2191
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map java.util.Map org.apache.tomcat.util.descriptor.web.WebXml java.lang.String top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        12: .line 2204
            iconst_1
            ireturn
        end local 4 // java.lang.String mapName
        end local 3 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        end local 2 // java.util.Map tempMap
        end local 1 // java.util.Map fragmentMap
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0   13     1  fragmentMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   13     2      tempMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   13     3     fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0   13     4      mapName  Ljava/lang/String;
            2   11     5        entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
            3   11     7          key  Ljava/lang/String;
            4   11     8        value  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/lang/String;)Z
    MethodParameters:
             Name  Flags
      fragmentMap  
      tempMap      
      fragment     
      mapName      

  public static java.util.Set<org.apache.tomcat.util.descriptor.web.WebXml> orderWebFragments(org.apache.tomcat.util.descriptor.web.WebXml, java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.WebXml>, jakarta.servlet.ServletContext);
    descriptor: (Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/util/Map;Ljakarta/servlet/ServletContext;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml application
        start local 1 // java.util.Map fragments
        start local 2 // jakarta.servlet.ServletContext servletContext
         0: .line 2221
            aload 0 /* application */
            aload 1 /* fragments */
            aload 2 /* servletContext */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments:(Ljava/util/Map;Ljakarta/servlet/ServletContext;)Ljava/util/Set;
            areturn
        end local 2 // jakarta.servlet.ServletContext servletContext
        end local 1 // java.util.Map fragments
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml application
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0     application  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0    1     1       fragments  Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            0    1     2  servletContext  Ljakarta/servlet/ServletContext;
    Signature: (Lorg/apache/tomcat/util/descriptor/web/WebXml;Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/WebXml;>;Ljakarta/servlet/ServletContext;)Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
    MethodParameters:
                Name  Flags
      application     
      fragments       
      servletContext  

  private java.util.Set<org.apache.tomcat.util.descriptor.web.WebXml> orderWebFragments(java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.WebXml>, jakarta.servlet.ServletContext);
    descriptor: (Ljava/util/Map;Ljakarta/servlet/ServletContext;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=12, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
        start local 1 // java.util.Map fragments
        start local 2 // jakarta.servlet.ServletContext servletContext
         0: .line 2228
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 3 /* orderedFragments */
        start local 3 // java.util.Set orderedFragments
         1: .line 2230
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAbsoluteOrdering:()Ljava/util/Set;
            ifnull 2
            iconst_1
            goto 3
      StackMap locals: java.util.Set
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* absoluteOrdering */
        start local 4 // boolean absoluteOrdering
         4: .line 2231
            iconst_0
            istore 5 /* orderingPresent */
        start local 5 // boolean orderingPresent
         5: .line 2233
            iload 4 /* absoluteOrdering */
            ifeq 26
         6: .line 2234
            iconst_1
            istore 5 /* orderingPresent */
         7: .line 2236
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAbsoluteOrdering:()Ljava/util/Set;
            astore 6 /* requestedOrder */
        start local 6 // java.util.Set requestedOrder
         8: .line 2238
            aload 6 /* requestedOrder */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 24
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* requestedName */
        start local 7 // java.lang.String requestedName
        10: .line 2239
            ldc "org.apache.catalina.order.others"
            aload 7 /* requestedName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        11: .line 2241
            aload 1 /* fragments */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 17
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int java.util.Set java.lang.String java.util.Iterator top java.util.Iterator
      StackMap stack:
        12: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 9 /* entry */
        start local 9 // java.util.Map$Entry entry
        13: .line 2242
            aload 6 /* requestedOrder */
            aload 9 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 17
        14: .line 2243
            aload 9 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 11 /* fragment */
        start local 11 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        15: .line 2244
            aload 11 /* fragment */
            ifnull 17
        16: .line 2245
            aload 3 /* orderedFragments */
            aload 11 /* fragment */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        end local 9 // java.util.Map$Entry entry
        17: .line 2241
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        18: .line 2249
            goto 24
        19: .line 2250
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int java.util.Set java.lang.String java.util.Iterator
      StackMap stack:
            aload 1 /* fragments */
            aload 7 /* requestedName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 9 /* fragment */
        start local 9 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        20: .line 2251
            aload 9 /* fragment */
            ifnull 23
        21: .line 2252
            aload 3 /* orderedFragments */
            aload 9 /* fragment */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        22: .line 2253
            goto 24
        23: .line 2254
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.web.WebXml.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.wrongFragmentName"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* requestedName */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        end local 9 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        end local 7 // java.lang.String requestedName
        24: .line 2238
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int java.util.Set top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 6 // java.util.Set requestedOrder
        25: .line 2258
            goto 87
        26: .line 2260
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int
      StackMap stack:
            aload 1 /* fragments */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 32
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int top java.util.Iterator
      StackMap stack:
        27: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 6 /* fragment */
        start local 6 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        28: .line 2261
            aload 6 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.isDuplicated:()Z
            ifeq 32
        29: .line 2262
            new java.lang.IllegalArgumentException
            dup
        30: .line 2263
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.duplicateFragment"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        31: .line 2262
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        32: .line 2260
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        33: .line 2268
            aload 1 /* fragments */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 58
      StackMap locals:
      StackMap stack:
        34: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 6 /* fragment */
        start local 6 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        35: .line 2270
            aload 6 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getBeforeOrdering:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
        36: .line 2269
            astore 8 /* before */
        start local 8 // java.util.Iterator before
        37: .line 2271
            goto 46
        38: .line 2272
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator java.util.Iterator
      StackMap stack:
            iconst_1
            istore 5 /* orderingPresent */
        39: .line 2273
            aload 8 /* before */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* beforeEntry */
        start local 9 // java.lang.String beforeEntry
        40: .line 2274
            aload 9 /* beforeEntry */
            ldc "org.apache.catalina.order.others"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 46
        41: .line 2275
            aload 1 /* fragments */
            aload 9 /* beforeEntry */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 10 /* beforeFragment */
        start local 10 // org.apache.tomcat.util.descriptor.web.WebXml beforeFragment
        42: .line 2276
            aload 10 /* beforeFragment */
            ifnonnull 45
        43: .line 2277
            aload 8 /* before */
            invokeinterface java.util.Iterator.remove:()V
        44: .line 2278
            goto 46
        45: .line 2279
      StackMap locals: java.lang.String org.apache.tomcat.util.descriptor.web.WebXml
      StackMap stack:
            aload 10 /* beforeFragment */
            aload 6 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addAfterOrdering:(Ljava/lang/String;)V
        end local 10 // org.apache.tomcat.util.descriptor.web.WebXml beforeFragment
        end local 9 // java.lang.String beforeEntry
        46: .line 2271
      StackMap locals:
      StackMap stack:
            aload 8 /* before */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        47: .line 2283
            aload 6 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAfterOrdering:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9 /* after */
        start local 9 // java.util.Iterator after
        48: .line 2284
            goto 57
        49: .line 2285
      StackMap locals: java.util.Iterator
      StackMap stack:
            iconst_1
            istore 5 /* orderingPresent */
        50: .line 2286
            aload 9 /* after */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* afterEntry */
        start local 10 // java.lang.String afterEntry
        51: .line 2287
            aload 10 /* afterEntry */
            ldc "org.apache.catalina.order.others"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 57
        52: .line 2288
            aload 1 /* fragments */
            aload 10 /* afterEntry */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 11 /* afterFragment */
        start local 11 // org.apache.tomcat.util.descriptor.web.WebXml afterFragment
        53: .line 2289
            aload 11 /* afterFragment */
            ifnonnull 56
        54: .line 2290
            aload 9 /* after */
            invokeinterface java.util.Iterator.remove:()V
        55: .line 2291
            goto 57
        56: .line 2292
      StackMap locals: java.lang.String org.apache.tomcat.util.descriptor.web.WebXml
      StackMap stack:
            aload 11 /* afterFragment */
            aload 6 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addBeforeOrdering:(Ljava/lang/String;)V
        end local 11 // org.apache.tomcat.util.descriptor.web.WebXml afterFragment
        end local 10 // java.lang.String afterEntry
        57: .line 2284
      StackMap locals:
      StackMap stack:
            aload 9 /* after */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 49
        end local 9 // java.util.Iterator after
        end local 8 // java.util.Iterator before
        end local 6 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        58: .line 2268
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        59: .line 2301
            aload 1 /* fragments */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 65
      StackMap locals:
      StackMap stack:
        60: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 6 /* fragment */
        start local 6 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        61: .line 2302
            aload 6 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getBeforeOrdering:()Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 63
        62: .line 2303
            aload 6 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAfterOrdering:()Ljava/util/Set;
            aload 1 /* fragments */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.makeBeforeOthersExplicit:(Ljava/util/Set;Ljava/util/Map;)V
        63: .line 2305
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator
      StackMap stack:
            aload 6 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAfterOrdering:()Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 65
        64: .line 2306
            aload 6 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getBeforeOrdering:()Ljava/util/Set;
            aload 1 /* fragments */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.makeAfterOthersExplicit:(Ljava/util/Set;Ljava/util/Map;)V
        end local 6 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        65: .line 2301
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 60
        66: .line 2311
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* beforeSet */
        start local 6 // java.util.Set beforeSet
        67: .line 2312
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* othersSet */
        start local 7 // java.util.Set othersSet
        68: .line 2313
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 8 /* afterSet */
        start local 8 // java.util.Set afterSet
        69: .line 2315
            aload 1 /* fragments */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10
            goto 80
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        70: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 9 /* fragment */
        start local 9 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        71: .line 2316
            aload 9 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getBeforeOrdering:()Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 75
        72: .line 2317
            aload 6 /* beforeSet */
            aload 9 /* fragment */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        73: .line 2318
            aload 9 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getBeforeOrdering:()Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        74: .line 2319
            goto 80
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int java.util.Set java.util.Set java.util.Set org.apache.tomcat.util.descriptor.web.WebXml java.util.Iterator
      StackMap stack:
        75: aload 9 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAfterOrdering:()Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 79
        76: .line 2320
            aload 8 /* afterSet */
            aload 9 /* fragment */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        77: .line 2321
            aload 9 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAfterOrdering:()Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        78: .line 2322
            goto 80
        79: .line 2323
      StackMap locals:
      StackMap stack:
            aload 7 /* othersSet */
            aload 9 /* fragment */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        80: .line 2315
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 70
        81: .line 2333
            aload 6 /* beforeSet */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.decoupleOtherGroups:(Ljava/util/Set;)V
        82: .line 2334
            aload 7 /* othersSet */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.decoupleOtherGroups:(Ljava/util/Set;)V
        83: .line 2335
            aload 8 /* afterSet */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.decoupleOtherGroups:(Ljava/util/Set;)V
        84: .line 2340
            aload 3 /* orderedFragments */
            aload 6 /* beforeSet */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.orderFragments:(Ljava/util/Set;Ljava/util/Set;)V
        85: .line 2341
            aload 3 /* orderedFragments */
            aload 7 /* othersSet */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.orderFragments:(Ljava/util/Set;Ljava/util/Set;)V
        86: .line 2342
            aload 3 /* orderedFragments */
            aload 8 /* afterSet */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.orderFragments:(Ljava/util/Set;Ljava/util/Set;)V
        end local 8 // java.util.Set afterSet
        end local 7 // java.util.Set othersSet
        end local 6 // java.util.Set beforeSet
        87: .line 2346
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 6 /* containerFragments */
        start local 6 // java.util.Set containerFragments
        88: .line 2349
            aload 1 /* fragments */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 93
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int java.util.Set top java.util.Iterator
      StackMap stack:
        89: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 7 /* fragment */
        start local 7 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        90: .line 2350
            aload 7 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getWebappJar:()Z
            ifne 93
        91: .line 2351
            aload 6 /* containerFragments */
            aload 7 /* fragment */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        92: .line 2352
            aload 3 /* orderedFragments */
            aload 7 /* fragment */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        93: .line 2349
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 89
        94: .line 2357
            aload 2 /* servletContext */
            ifnull 105
        95: .line 2360
            aconst_null
            astore 7 /* orderedJarFileNames */
        start local 7 // java.util.List orderedJarFileNames
        96: .line 2361
            iload 5 /* orderingPresent */
            ifeq 102
        97: .line 2362
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* orderedJarFileNames */
        98: .line 2363
            aload 3 /* orderedFragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 101
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int java.util.Set java.util.List top java.util.Iterator
      StackMap stack:
        99: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 8 /* fragment */
        start local 8 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       100: .line 2364
            aload 7 /* orderedJarFileNames */
            aload 8 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getJarName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.apache.tomcat.util.descriptor.web.WebXml fragment
       101: .line 2363
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 99
       102: .line 2367
      StackMap locals: org.apache.tomcat.util.descriptor.web.WebXml java.util.Map jakarta.servlet.ServletContext java.util.Set int int java.util.Set java.util.List
      StackMap stack:
            aload 2 /* servletContext */
            ldc "jakarta.servlet.context.orderedLibs"
       103: .line 2368
            aload 7 /* orderedJarFileNames */
       104: .line 2367
            invokeinterface jakarta.servlet.ServletContext.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 7 // java.util.List orderedJarFileNames
       105: .line 2373
      StackMap locals:
      StackMap stack:
            aload 6 /* containerFragments */
            invokeinterface java.util.Set.size:()I
            ifle 114
       106: .line 2374
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 7 /* result */
        start local 7 // java.util.Set result
       107: .line 2375
            aload 6 /* containerFragments */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getDelegate:()Z
            ifeq 111
       108: .line 2376
            aload 7 /* result */
            aload 6 /* containerFragments */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
       109: .line 2377
            aload 7 /* result */
            aload 3 /* orderedFragments */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
       110: .line 2378
            goto 113
       111: .line 2379
      StackMap locals: java.util.Set
      StackMap stack:
            aload 7 /* result */
            aload 3 /* orderedFragments */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
       112: .line 2380
            aload 7 /* result */
            aload 6 /* containerFragments */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
       113: .line 2382
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            areturn
        end local 7 // java.util.Set result
       114: .line 2384
      StackMap locals:
      StackMap stack:
            aload 3 /* orderedFragments */
            areturn
        end local 6 // java.util.Set containerFragments
        end local 5 // boolean orderingPresent
        end local 4 // boolean absoluteOrdering
        end local 3 // java.util.Set orderedFragments
        end local 2 // jakarta.servlet.ServletContext servletContext
        end local 1 // java.util.Map fragments
        end local 0 // org.apache.tomcat.util.descriptor.web.WebXml this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  115     0                 this  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            0  115     1            fragments  Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            0  115     2       servletContext  Ljakarta/servlet/ServletContext;
            1  115     3     orderedFragments  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            4  115     4     absoluteOrdering  Z
            5  115     5      orderingPresent  Z
            8   25     6       requestedOrder  Ljava/util/Set<Ljava/lang/String;>;
           10   24     7        requestedName  Ljava/lang/String;
           13   17     9                entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
           15   17    11             fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           20   24     9             fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           28   32     6             fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           35   58     6             fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           37   58     8               before  Ljava/util/Iterator<Ljava/lang/String;>;
           40   46     9          beforeEntry  Ljava/lang/String;
           42   46    10       beforeFragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           48   58     9                after  Ljava/util/Iterator<Ljava/lang/String;>;
           51   57    10           afterEntry  Ljava/lang/String;
           53   57    11        afterFragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           61   65     6             fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           67   87     6            beforeSet  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
           68   87     7            othersSet  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
           69   87     8             afterSet  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
           71   80     9             fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           88  115     6   containerFragments  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
           90   93     7             fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
           96  105     7  orderedJarFileNames  Ljava/util/List<Ljava/lang/String;>;
          100  101     8             fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
          107  114     7               result  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/WebXml;>;Ljakarta/servlet/ServletContext;)Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
    MethodParameters:
                Name  Flags
      fragments       
      servletContext  

  private static void decoupleOtherGroups(java.util.Set<org.apache.tomcat.util.descriptor.web.WebXml>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.Set group
         0: .line 2389
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* names */
        start local 1 // java.util.Set names
         1: .line 2390
            aload 0 /* group */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 2 /* fragment */
        start local 2 // org.apache.tomcat.util.descriptor.web.WebXml fragment
         3: .line 2391
            aload 1 /* names */
            aload 2 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.WebXml fragment
         4: .line 2390
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 2393
            aload 0 /* group */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals:
      StackMap stack:
         6: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 2 /* fragment */
        start local 2 // org.apache.tomcat.util.descriptor.web.WebXml fragment
         7: .line 2394
            aload 2 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAfterOrdering:()Ljava/util/Set;
            aload 1 /* names */
            invokedynamic test(Ljava/util/Set;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/apache/tomcat/util/descriptor/web/WebXml.lambda$0(Ljava/util/Set;Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.Set.removeIf:(Ljava/util/function/Predicate;)Z
            pop
        end local 2 // org.apache.tomcat.util.descriptor.web.WebXml fragment
         8: .line 2393
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 2396
            return
        end local 1 // java.util.Set names
        end local 0 // java.util.Set group
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0     group  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            1   10     1     names  Ljava/util/Set<Ljava/lang/String;>;
            3    4     2  fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            7    8     2  fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: (Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;)V
    MethodParameters:
       Name  Flags
      group  

  private static void orderFragments(java.util.Set<org.apache.tomcat.util.descriptor.web.WebXml>, java.util.Set<org.apache.tomcat.util.descriptor.web.WebXml>);
    descriptor: (Ljava/util/Set;Ljava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.util.Set orderedFragments
        start local 1 // java.util.Set unordered
         0: .line 2399
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* addedThisRound */
        start local 2 // java.util.Set addedThisRound
         1: .line 2400
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* addedLastRound */
        start local 3 // java.util.Set addedLastRound
         2: .line 2401
            goto 22
         3: .line 2402
      StackMap locals: java.util.Set java.util.Set
      StackMap stack:
            aload 1 /* unordered */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* source */
        start local 4 // java.util.Iterator source
         4: .line 2403
            goto 14
         5: .line 2404
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 4 /* source */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 5 /* fragment */
        start local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
         6: .line 2405
            aload 3 /* addedLastRound */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: java.util.Set java.util.Set java.util.Set java.util.Set java.util.Iterator org.apache.tomcat.util.descriptor.web.WebXml top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 6 /* toRemove */
        start local 6 // org.apache.tomcat.util.descriptor.web.WebXml toRemove
         8: .line 2406
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAfterOrdering:()Ljava/util/Set;
            aload 6 /* toRemove */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.apache.tomcat.util.descriptor.web.WebXml toRemove
         9: .line 2405
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 2408
            aload 5 /* fragment */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAfterOrdering:()Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 14
        11: .line 2409
            aload 2 /* addedThisRound */
            aload 5 /* fragment */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        12: .line 2410
            aload 0 /* orderedFragments */
            aload 5 /* fragment */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 2411
            aload 4 /* source */
            invokeinterface java.util.Iterator.remove:()V
        end local 5 // org.apache.tomcat.util.descriptor.web.WebXml fragment
        14: .line 2403
      StackMap locals: java.util.Set java.util.Set java.util.Set java.util.Set java.util.Iterator
      StackMap stack:
            aload 4 /* source */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        15: .line 2414
            aload 2 /* addedThisRound */
            invokeinterface java.util.Set.size:()I
            ifne 19
        16: .line 2416
            new java.lang.IllegalArgumentException
            dup
        17: .line 2417
            getstatic org.apache.tomcat.util.descriptor.web.WebXml.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "webXml.mergeConflictOrder"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
        18: .line 2416
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 2419
      StackMap locals:
      StackMap stack:
            aload 3 /* addedLastRound */
            invokeinterface java.util.Set.clear:()V
        20: .line 2420
            aload 3 /* addedLastRound */
            aload 2 /* addedThisRound */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        21: .line 2421
            aload 2 /* addedThisRound */
            invokeinterface java.util.Set.clear:()V
        end local 4 // java.util.Iterator source
        22: .line 2401
      StackMap locals:
      StackMap stack:
            aload 1 /* unordered */
            invokeinterface java.util.Set.size:()I
            ifgt 3
        23: .line 2423
            return
        end local 3 // java.util.Set addedLastRound
        end local 2 // java.util.Set addedThisRound
        end local 1 // java.util.Set unordered
        end local 0 // java.util.Set orderedFragments
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   24     0  orderedFragments  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            0   24     1         unordered  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            1   24     2    addedThisRound  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            2   24     3    addedLastRound  Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            4   22     4            source  Ljava/util/Iterator<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            6   14     5          fragment  Lorg/apache/tomcat/util/descriptor/web/WebXml;
            8    9     6          toRemove  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: (Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;Ljava/util/Set<Lorg/apache/tomcat/util/descriptor/web/WebXml;>;)V
    MethodParameters:
                  Name  Flags
      orderedFragments  
      unordered         

  private static void makeBeforeOthersExplicit(java.util.Set<java.lang.String>, java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.WebXml>);
    descriptor: (Ljava/util/Set;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.Set beforeOrdering
        start local 1 // java.util.Map fragments
         0: .line 2427
            aload 0 /* beforeOrdering */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: java.util.Set java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* before */
        start local 2 // java.lang.String before
         2: .line 2428
            aload 2 /* before */
            ldc "org.apache.catalina.order.others"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         3: .line 2429
            aload 1 /* fragments */
            aload 2 /* before */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* webXml */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml webXml
         4: .line 2430
            aload 4 /* webXml */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getBeforeOrdering:()Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 2431
            aload 4 /* webXml */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addBeforeOrderingOthers:()V
         6: .line 2432
            aload 4 /* webXml */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAfterOrdering:()Ljava/util/Set;
            aload 1 /* fragments */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.makeBeforeOthersExplicit:(Ljava/util/Set;Ljava/util/Map;)V
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml webXml
        end local 2 // java.lang.String before
         7: .line 2427
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 2436
            return
        end local 1 // java.util.Map fragments
        end local 0 // java.util.Set beforeOrdering
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0  beforeOrdering  Ljava/util/Set<Ljava/lang/String;>;
            0    9     1       fragments  Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            2    7     2          before  Ljava/lang/String;
            4    7     4          webXml  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/WebXml;>;)V
    MethodParameters:
                Name  Flags
      beforeOrdering  
      fragments       

  private static void makeAfterOthersExplicit(java.util.Set<java.lang.String>, java.util.Map<java.lang.String, org.apache.tomcat.util.descriptor.web.WebXml>);
    descriptor: (Ljava/util/Set;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.Set afterOrdering
        start local 1 // java.util.Map fragments
         0: .line 2440
            aload 0 /* afterOrdering */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: java.util.Set java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* after */
        start local 2 // java.lang.String after
         2: .line 2441
            aload 2 /* after */
            ldc "org.apache.catalina.order.others"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         3: .line 2442
            aload 1 /* fragments */
            aload 2 /* after */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.descriptor.web.WebXml
            astore 4 /* webXml */
        start local 4 // org.apache.tomcat.util.descriptor.web.WebXml webXml
         4: .line 2443
            aload 4 /* webXml */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getAfterOrdering:()Ljava/util/Set;
            ldc "org.apache.catalina.order.others"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 2444
            aload 4 /* webXml */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.addAfterOrderingOthers:()V
         6: .line 2445
            aload 4 /* webXml */
            invokevirtual org.apache.tomcat.util.descriptor.web.WebXml.getBeforeOrdering:()Ljava/util/Set;
            aload 1 /* fragments */
            invokestatic org.apache.tomcat.util.descriptor.web.WebXml.makeAfterOthersExplicit:(Ljava/util/Set;Ljava/util/Map;)V
        end local 4 // org.apache.tomcat.util.descriptor.web.WebXml webXml
        end local 2 // java.lang.String after
         7: .line 2440
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 2449
            return
        end local 1 // java.util.Map fragments
        end local 0 // java.util.Set afterOrdering
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0  afterOrdering  Ljava/util/Set<Ljava/lang/String;>;
            0    9     1      fragments  Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/WebXml;>;
            2    7     2          after  Ljava/lang/String;
            4    7     4         webXml  Lorg/apache/tomcat/util/descriptor/web/WebXml;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Lorg/apache/tomcat/util/descriptor/web/WebXml;>;)V
    MethodParameters:
               Name  Flags
      afterOrdering  
      fragments      

  private static boolean lambda$0(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String entry
         0: .line 2394
            aload 0
            aload 1 /* entry */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // java.lang.String entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     1  entry  Ljava/lang/String;
}
SourceFile: "WebXml.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract Charset = org.apache.tomcat.util.digester.DocumentProperties$Charset of org.apache.tomcat.util.digester.DocumentProperties