public final class com.sun.naming.internal.ResourceManager
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.naming.internal.ResourceManager
  super_class: java.lang.Object
{
  private static final java.lang.String PROVIDER_RESOURCE_FILE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jndiprovider.properties"

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

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

  private static final java.lang.String[] listProperties;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.sun.naming.internal.VersionHelper helper;
    descriptor: Lcom/sun/naming/internal/VersionHelper;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.WeakHashMap propertiesCache;
    descriptor: Ljava/util/WeakHashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.WeakHashMap factoryCache;
    descriptor: Ljava/util/WeakHashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.WeakHashMap urlFactoryCache;
    descriptor: Ljava/util/WeakHashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.ref.WeakReference NO_FACTORY;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 73
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 74
            ldc "java.naming.factory.object"
            aastore
            dup
            iconst_1
         2: .line 75
            ldc "java.naming.factory.url.pkgs"
            aastore
            dup
            iconst_2
         3: .line 76
            ldc "java.naming.factory.state"
            aastore
            dup
            iconst_3
         4: .line 78
            ldc "java.naming.factory.control"
            aastore
         5: .line 73
            putstatic com.sun.naming.internal.ResourceManager.listProperties:[Ljava/lang/String;
         6: .line 82
            invokestatic com.sun.naming.internal.VersionHelper.getVersionHelper:()Lcom/sun/naming/internal/VersionHelper;
         7: .line 81
            putstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
         8: .line 91
            new java.util.WeakHashMap
            dup
            bipush 11
            invokespecial java.util.WeakHashMap.<init>:(I)V
            putstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
         9: .line 101
            new java.util.WeakHashMap
            dup
            bipush 11
            invokespecial java.util.WeakHashMap.<init>:(I)V
            putstatic com.sun.naming.internal.ResourceManager.factoryCache:Ljava/util/WeakHashMap;
        10: .line 112
            new java.util.WeakHashMap
            dup
            bipush 11
            invokespecial java.util.WeakHashMap.<init>:(I)V
            putstatic com.sun.naming.internal.ResourceManager.urlFactoryCache:Ljava/util/WeakHashMap;
        11: .line 113
            new java.lang.ref.WeakReference
            dup
            aconst_null
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.naming.internal.ResourceManager this
         0: .line 117
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 118
            return
        end local 0 // com.sun.naming.internal.ResourceManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/naming/internal/ResourceManager;

  public static java.util.Hashtable getInitialEnvironment(java.util.Hashtable);
    descriptor: (Ljava/util/Hashtable;)Ljava/util/Hashtable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.util.Hashtable env
         0: .line 142
            getstatic com.sun.naming.internal.VersionHelper.PROPS:[Ljava/lang/String;
            astore 1 /* props */
        start local 1 // java.lang.String[] props
         1: .line 143
            aload 0 /* env */
            ifnonnull 3
         2: .line 144
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 0 /* env */
         3: .line 146
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 0 /* env */
            ldc "java.naming.applet"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.applet.Applet
            astore 2 /* applet */
        start local 2 // java.applet.Applet applet
         4: .line 155
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            invokevirtual com.sun.naming.internal.VersionHelper.getJndiProperties:()[Ljava/lang/String;
            astore 3 /* jndiSysProps */
        start local 3 // java.lang.String[] jndiSysProps
         5: .line 156
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 19
         7: .line 157
      StackMap locals: java.applet.Applet java.lang.String[] int
      StackMap stack:
            aload 0 /* env */
            aload 1 /* props */
            iload 4 /* i */
            aaload
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* val */
        start local 5 // java.lang.Object val
         8: .line 158
            aload 5 /* val */
            ifnonnull 18
         9: .line 159
            aload 2 /* applet */
            ifnull 11
        10: .line 160
            aload 2 /* applet */
            aload 1 /* props */
            iload 4 /* i */
            aaload
            invokevirtual java.applet.Applet.getParameter:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* val */
        11: .line 162
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* val */
            ifnonnull 16
        12: .line 164
            aload 3 /* jndiSysProps */
            ifnull 14
        13: .line 165
            aload 3 /* jndiSysProps */
            iload 4 /* i */
            aaload
            goto 15
        14: .line 166
      StackMap locals:
      StackMap stack:
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            iload 4 /* i */
            invokevirtual com.sun.naming.internal.VersionHelper.getJndiProperty:(I)Ljava/lang/String;
        15: .line 164
      StackMap locals:
      StackMap stack: java.lang.String
            astore 5 /* val */
        16: .line 168
      StackMap locals:
      StackMap stack:
            aload 5 /* val */
            ifnull 18
        17: .line 169
            aload 0 /* env */
            aload 1 /* props */
            iload 4 /* i */
            aaload
            aload 5 /* val */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.Object val
        18: .line 156
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            aload 1 /* props */
            arraylength
            if_icmplt 7
        end local 4 // int i
        20: .line 176
            aload 0 /* env */
            invokestatic com.sun.naming.internal.ResourceManager.getApplicationResources:()Ljava/util/Hashtable;
            invokestatic com.sun.naming.internal.ResourceManager.mergeTables:(Ljava/util/Hashtable;Ljava/util/Hashtable;)V
        21: .line 177
            aload 0 /* env */
            areturn
        end local 3 // java.lang.String[] jndiSysProps
        end local 2 // java.applet.Applet applet
        end local 1 // java.lang.String[] props
        end local 0 // java.util.Hashtable env
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0           env  Ljava/util/Hashtable;
            1   22     1         props  [Ljava/lang/String;
            4   22     2        applet  Ljava/applet/Applet;
            5   22     3  jndiSysProps  [Ljava/lang/String;
            6   20     4             i  I
            8   18     5           val  Ljava/lang/Object;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      env   

  public static java.lang.String getProperty(java.lang.String, java.util.Hashtable, javax.naming.Context, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Hashtable;Ljavax/naming/Context;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.lang.String propName
        start local 1 // java.util.Hashtable env
        start local 2 // javax.naming.Context ctx
        start local 3 // boolean concat
         0: .line 204
            aload 1 /* env */
            ifnull 1
            aload 1 /* env */
            aload 0 /* propName */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 4 /* val1 */
        start local 4 // java.lang.String val1
         3: .line 205
            aload 2 /* ctx */
            ifnull 5
         4: .line 206
            aload 4 /* val1 */
            ifnull 6
            iload 3 /* concat */
            ifne 6
         5: .line 207
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* val1 */
            areturn
         6: .line 209
      StackMap locals:
      StackMap stack:
            aload 2 /* ctx */
            invokestatic com.sun.naming.internal.ResourceManager.getProviderResource:(Ljava/lang/Object;)Ljava/util/Hashtable;
            aload 0 /* propName */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* val2 */
        start local 5 // java.lang.String val2
         7: .line 210
            aload 4 /* val1 */
            ifnonnull 9
         8: .line 211
            aload 5 /* val2 */
            areturn
         9: .line 212
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* val2 */
            ifnull 10
            iload 3 /* concat */
            ifne 11
        10: .line 213
      StackMap locals:
      StackMap stack:
            aload 4 /* val1 */
            areturn
        11: .line 215
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* val1 */
            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;
            aload 5 /* val2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.String val2
        end local 4 // java.lang.String val1
        end local 3 // boolean concat
        end local 2 // javax.naming.Context ctx
        end local 1 // java.util.Hashtable env
        end local 0 // java.lang.String propName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0  propName  Ljava/lang/String;
            0   12     1       env  Ljava/util/Hashtable;
            0   12     2       ctx  Ljavax/naming/Context;
            0   12     3    concat  Z
            3   12     4      val1  Ljava/lang/String;
            7   12     5      val2  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
          Name  Flags
      propName  
      env       
      ctx       
      concat    

  public static com.sun.naming.internal.FactoryEnumeration getFactories(java.lang.String, java.util.Hashtable, javax.naming.Context);
    descriptor: (Ljava/lang/String;Ljava/util/Hashtable;Ljavax/naming/Context;)Lcom/sun/naming/internal/FactoryEnumeration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // java.lang.String propName
        start local 1 // java.util.Hashtable env
        start local 2 // javax.naming.Context ctx
         0: .line 264
            aload 0 /* propName */
            aload 1 /* env */
            aload 2 /* ctx */
            iconst_1
            invokestatic com.sun.naming.internal.ResourceManager.getProperty:(Ljava/lang/String;Ljava/util/Hashtable;Ljavax/naming/Context;Z)Ljava/lang/String;
            astore 3 /* facProp */
        start local 3 // java.lang.String facProp
         1: .line 265
            aload 3 /* facProp */
            ifnonnull 3
         2: .line 266
            aconst_null
            areturn
         3: .line 269
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            invokevirtual com.sun.naming.internal.VersionHelper.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* loader */
        start local 4 // java.lang.ClassLoader loader
         4: .line 271
            aconst_null
            astore 5 /* perLoaderCache */
        start local 5 // java.util.Map perLoaderCache
         5: .line 272
            getstatic com.sun.naming.internal.ResourceManager.factoryCache:Ljava/util/WeakHashMap;
            dup
            astore 6
            monitorenter
         6: .line 273
            getstatic com.sun.naming.internal.ResourceManager.factoryCache:Ljava/util/WeakHashMap;
            aload 4 /* loader */
            invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 5 /* perLoaderCache */
         7: .line 274
            aload 5 /* perLoaderCache */
            ifnonnull 10
         8: .line 275
            new java.util.HashMap
            dup
            bipush 11
            invokespecial java.util.HashMap.<init>:(I)V
            astore 5 /* perLoaderCache */
         9: .line 276
            getstatic com.sun.naming.internal.ResourceManager.factoryCache:Ljava/util/WeakHashMap;
            aload 4 /* loader */
            aload 5 /* perLoaderCache */
            invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 272
      StackMap locals: java.lang.ClassLoader java.util.Map java.util.WeakHashMap
      StackMap stack:
            aload 6
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 6
            monitorexit
        13: athrow
        14: .line 280
      StackMap locals:
      StackMap stack:
            aload 5 /* perLoaderCache */
            dup
            astore 6
            monitorenter
        15: .line 281
            aload 5 /* perLoaderCache */
            aload 3 /* facProp */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 7 /* factories */
        start local 7 // java.util.List factories
        16: .line 282
            aload 7 /* factories */
            ifnull 21
        17: .line 284
            aload 7 /* factories */
            invokeinterface java.util.List.size:()I
            ifne 18
            aconst_null
            goto 19
        18: .line 285
      StackMap locals: java.util.Map java.util.List
      StackMap stack:
            new com.sun.naming.internal.FactoryEnumeration
            dup
            aload 7 /* factories */
            aload 4 /* loader */
            invokespecial com.sun.naming.internal.FactoryEnumeration.<init>:(Ljava/util/List;Ljava/lang/ClassLoader;)V
        19: .line 284
      StackMap locals:
      StackMap stack: com.sun.naming.internal.FactoryEnumeration
            aload 6
            monitorexit
        20: areturn
        21: .line 289
      StackMap locals:
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 3 /* facProp */
            ldc ":"
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 8 /* parser */
        start local 8 // java.util.StringTokenizer parser
        22: .line 290
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* factories */
        23: .line 291
            goto 29
        24: .line 294
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 8 /* parser */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 9 /* className */
        start local 9 // java.lang.String className
        25: .line 295
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            aload 9 /* className */
            aload 4 /* loader */
            invokevirtual com.sun.naming.internal.VersionHelper.loadClass:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            astore 10 /* c */
        start local 10 // java.lang.Class c
        26: .line 296
            aload 7 /* factories */
            new com.sun.naming.internal.NamedWeakReference
            dup
            aload 10 /* c */
            aload 9 /* className */
            invokespecial com.sun.naming.internal.NamedWeakReference.<init>:(Ljava/lang/Object;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.lang.Class c
        end local 9 // java.lang.String className
        27: .line 297
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Exception
        28: pop
        29: .line 291
      StackMap locals:
      StackMap stack:
            aload 8 /* parser */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 24
        30: .line 302
            aload 5 /* perLoaderCache */
            aload 3 /* facProp */
            aload 7 /* factories */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 303
            new com.sun.naming.internal.FactoryEnumeration
            dup
            aload 7 /* factories */
            aload 4 /* loader */
            invokespecial com.sun.naming.internal.FactoryEnumeration.<init>:(Ljava/util/List;Ljava/lang/ClassLoader;)V
            aload 6
            monitorexit
        32: areturn
        end local 8 // java.util.StringTokenizer parser
        end local 7 // java.util.List factories
        33: .line 280
      StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.ClassLoader java.util.Map java.util.Map
      StackMap stack: java.lang.Throwable
            aload 6
            monitorexit
        34: athrow
        end local 5 // java.util.Map perLoaderCache
        end local 4 // java.lang.ClassLoader loader
        end local 3 // java.lang.String facProp
        end local 2 // javax.naming.Context ctx
        end local 1 // java.util.Hashtable env
        end local 0 // java.lang.String propName
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   35     0        propName  Ljava/lang/String;
            0   35     1             env  Ljava/util/Hashtable;
            0   35     2             ctx  Ljavax/naming/Context;
            1   35     3         facProp  Ljava/lang/String;
            4   35     4          loader  Ljava/lang/ClassLoader;
            5   35     5  perLoaderCache  Ljava/util/Map;
           16   33     7       factories  Ljava/util/List;
           22   33     8          parser  Ljava/util/StringTokenizer;
           25   27     9       className  Ljava/lang/String;
           26   27    10               c  Ljava/lang/Class;
      Exception table:
        from    to  target  type
           6    11      12  any
          12    13      12  any
          24    27      28  Class java.lang.Exception
          15    20      33  any
          21    32      33  any
          33    34      33  any
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
          Name  Flags
      propName  
      env       
      ctx       

  public static java.lang.Object getFactory(java.lang.String, java.util.Hashtable, javax.naming.Context, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/util/Hashtable;Ljavax/naming/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=16, args_size=5
        start local 0 // java.lang.String propName
        start local 1 // java.util.Hashtable env
        start local 2 // javax.naming.Context ctx
        start local 3 // java.lang.String classSuffix
        start local 4 // java.lang.String defaultPkgPrefix
         0: .line 348
            aload 0 /* propName */
            aload 1 /* env */
            aload 2 /* ctx */
            iconst_1
            invokestatic com.sun.naming.internal.ResourceManager.getProperty:(Ljava/lang/String;Ljava/util/Hashtable;Ljavax/naming/Context;Z)Ljava/lang/String;
            astore 5 /* facProp */
        start local 5 // java.lang.String facProp
         1: .line 349
            aload 5 /* facProp */
            ifnull 3
         2: .line 350
            new java.lang.StringBuilder
            dup
            aload 5 /* facProp */
            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;
            aload 4 /* defaultPkgPrefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* facProp */
            goto 4
         3: .line 352
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* defaultPkgPrefix */
            astore 5 /* facProp */
         4: .line 356
      StackMap locals:
      StackMap stack:
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            invokevirtual com.sun.naming.internal.VersionHelper.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 6 /* loader */
        start local 6 // java.lang.ClassLoader loader
         5: .line 357
            new java.lang.StringBuilder
            dup
            aload 3 /* classSuffix */
            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;
            aload 5 /* facProp */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* key */
        start local 7 // java.lang.String key
         6: .line 359
            aconst_null
            astore 8 /* perLoaderCache */
        start local 8 // java.util.Map perLoaderCache
         7: .line 360
            getstatic com.sun.naming.internal.ResourceManager.urlFactoryCache:Ljava/util/WeakHashMap;
            dup
            astore 9
            monitorenter
         8: .line 361
            getstatic com.sun.naming.internal.ResourceManager.urlFactoryCache:Ljava/util/WeakHashMap;
            aload 6 /* loader */
            invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 8 /* perLoaderCache */
         9: .line 362
            aload 8 /* perLoaderCache */
            ifnonnull 12
        10: .line 363
            new java.util.HashMap
            dup
            bipush 11
            invokespecial java.util.HashMap.<init>:(I)V
            astore 8 /* perLoaderCache */
        11: .line 364
            getstatic com.sun.naming.internal.ResourceManager.urlFactoryCache:Ljava/util/WeakHashMap;
            aload 6 /* loader */
            aload 8 /* perLoaderCache */
            invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 360
      StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.util.Map java.util.WeakHashMap
      StackMap stack:
            aload 9
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 9
            monitorexit
        15: athrow
        16: .line 368
      StackMap locals:
      StackMap stack:
            aload 8 /* perLoaderCache */
            dup
            astore 9
            monitorenter
        17: .line 369
            aconst_null
            astore 10 /* factory */
        start local 10 // java.lang.Object factory
        18: .line 371
            aload 8 /* perLoaderCache */
            aload 7 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.WeakReference
            astore 11 /* factoryRef */
        start local 11 // java.lang.ref.WeakReference factoryRef
        19: .line 372
            aload 11 /* factoryRef */
            getstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
            if_acmpne 22
        20: .line 373
            aload 9
            monitorexit
        21: aconst_null
            areturn
        22: .line 374
      StackMap locals: java.util.Map java.lang.Object java.lang.ref.WeakReference
      StackMap stack:
            aload 11 /* factoryRef */
            ifnull 27
        23: .line 375
            aload 11 /* factoryRef */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            astore 10 /* factory */
        24: .line 376
            aload 10 /* factory */
            ifnull 27
        25: .line 377
            aload 10 /* factory */
            aload 9
            monitorexit
        26: areturn
        27: .line 382
      StackMap locals:
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 5 /* facProp */
            ldc ":"
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 12 /* parser */
        start local 12 // java.util.StringTokenizer parser
        28: .line 384
            goto 43
        29: .line 385
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 12 /* parser */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* classSuffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 13 /* className */
        start local 13 // java.lang.String className
        30: .line 388
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            aload 13 /* className */
            aload 6 /* loader */
            invokevirtual com.sun.naming.internal.VersionHelper.loadClass:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            astore 10 /* factory */
        31: .line 389
            goto 43
      StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.util.Map java.util.Map java.lang.Object java.lang.ref.WeakReference java.util.StringTokenizer java.lang.String
      StackMap stack: java.lang.InstantiationException
        32: astore 14 /* e */
        start local 14 // java.lang.InstantiationException e
        33: .line 391
            new javax.naming.NamingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot instantiate "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
        34: .line 390
            astore 15 /* ne */
        start local 15 // javax.naming.NamingException ne
        35: .line 392
            aload 15 /* ne */
            aload 14 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        36: .line 393
            aload 15 /* ne */
            athrow
        end local 15 // javax.naming.NamingException ne
        end local 14 // java.lang.InstantiationException e
        37: .line 394
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 14 /* e */
        start local 14 // java.lang.IllegalAccessException e
        38: .line 396
            new javax.naming.NamingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot access "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
        39: .line 395
            astore 15 /* ne */
        start local 15 // javax.naming.NamingException ne
        40: .line 397
            aload 15 /* ne */
            aload 14 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        41: .line 398
            aload 15 /* ne */
            athrow
        end local 15 // javax.naming.NamingException ne
        end local 14 // java.lang.IllegalAccessException e
        42: .line 399
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        end local 13 // java.lang.String className
        43: .line 384
      StackMap locals:
      StackMap stack:
            aload 10 /* factory */
            ifnonnull 44
            aload 12 /* parser */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 29
        44: .line 406
      StackMap locals:
      StackMap stack:
            aload 8 /* perLoaderCache */
            aload 7 /* key */
            aload 10 /* factory */
            ifnull 46
        45: .line 407
            new java.lang.ref.WeakReference
            dup
            aload 10 /* factory */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            goto 47
        46: .line 408
      StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.util.Map java.util.Map java.lang.Object java.lang.ref.WeakReference java.util.StringTokenizer
      StackMap stack: java.util.Map java.lang.String
            getstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
        47: .line 406
      StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.util.Map java.util.Map java.lang.Object java.lang.ref.WeakReference java.util.StringTokenizer
      StackMap stack: java.util.Map java.lang.String java.lang.ref.WeakReference
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        48: .line 409
            aload 10 /* factory */
            aload 9
            monitorexit
        49: areturn
        end local 12 // java.util.StringTokenizer parser
        end local 11 // java.lang.ref.WeakReference factoryRef
        end local 10 // java.lang.Object factory
        50: .line 368
      StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.util.Map java.util.Map
      StackMap stack: java.lang.Throwable
            aload 9
            monitorexit
        51: athrow
        end local 8 // java.util.Map perLoaderCache
        end local 7 // java.lang.String key
        end local 6 // java.lang.ClassLoader loader
        end local 5 // java.lang.String facProp
        end local 4 // java.lang.String defaultPkgPrefix
        end local 3 // java.lang.String classSuffix
        end local 2 // javax.naming.Context ctx
        end local 1 // java.util.Hashtable env
        end local 0 // java.lang.String propName
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   52     0          propName  Ljava/lang/String;
            0   52     1               env  Ljava/util/Hashtable;
            0   52     2               ctx  Ljavax/naming/Context;
            0   52     3       classSuffix  Ljava/lang/String;
            0   52     4  defaultPkgPrefix  Ljava/lang/String;
            1   52     5           facProp  Ljava/lang/String;
            5   52     6            loader  Ljava/lang/ClassLoader;
            6   52     7               key  Ljava/lang/String;
            7   52     8    perLoaderCache  Ljava/util/Map;
           18   50    10           factory  Ljava/lang/Object;
           19   50    11        factoryRef  Ljava/lang/ref/WeakReference;
           28   50    12            parser  Ljava/util/StringTokenizer;
           30   43    13         className  Ljava/lang/String;
           33   37    14                 e  Ljava/lang/InstantiationException;
           35   37    15                ne  Ljavax/naming/NamingException;
           38   42    14                 e  Ljava/lang/IllegalAccessException;
           40   42    15                ne  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
           8    13      14  any
          14    15      14  any
          30    31      32  Class java.lang.InstantiationException
          30    31      37  Class java.lang.IllegalAccessException
          30    31      42  Class java.lang.Exception
          17    21      50  any
          22    26      50  any
          27    49      50  any
          50    51      50  any
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
                  Name  Flags
      propName          
      env               
      ctx               
      classSuffix       
      defaultPkgPrefix  

  private static java.util.Hashtable getProviderResource(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/util/Hashtable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 427
            aload 0 /* obj */
            ifnonnull 2
         1: .line 428
            new java.util.Hashtable
            dup
            iconst_1
            invokespecial java.util.Hashtable.<init>:(I)V
            areturn
         2: .line 430
      StackMap locals:
      StackMap stack:
            getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
            dup
            astore 1
            monitorenter
         3: .line 431
            aload 0 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* c */
        start local 2 // java.lang.Class c
         4: .line 433
            getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
            aload 2 /* c */
            invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Hashtable
            astore 3 /* props */
        start local 3 // java.util.Hashtable props
         5: .line 434
            aload 3 /* props */
            ifnull 8
         6: .line 435
            aload 3 /* props */
            aload 1
            monitorexit
         7: areturn
         8: .line 437
      StackMap locals: java.util.WeakHashMap java.lang.Class java.util.Hashtable
      StackMap stack:
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 3 /* props */
         9: .line 440
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            aload 2 /* c */
            ldc "jndiprovider.properties"
            invokevirtual com.sun.naming.internal.VersionHelper.getResourceAsStream:(Ljava/lang/Class;Ljava/lang/String;)Ljava/io/InputStream;
        10: .line 439
            astore 4 /* istream */
        start local 4 // java.io.InputStream istream
        11: .line 442
            aload 4 /* istream */
            ifnull 20
        12: .line 444
            aload 3 /* props */
            checkcast java.util.Properties
            aload 4 /* istream */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        13: .line 445
            goto 20
      StackMap locals: java.lang.Object java.util.WeakHashMap java.lang.Class java.util.Hashtable java.io.InputStream
      StackMap stack: java.io.IOException
        14: astore 5 /* e */
        start local 5 // java.io.IOException e
        15: .line 446
            new javax.naming.ConfigurationException
            dup
        16: .line 447
            new java.lang.StringBuilder
            dup
            ldc "Error reading provider resource file for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* c */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 446
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            astore 6 /* ne */
        start local 6 // javax.naming.NamingException ne
        18: .line 448
            aload 6 /* ne */
            aload 5 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        19: .line 449
            aload 6 /* ne */
            athrow
        end local 6 // javax.naming.NamingException ne
        end local 5 // java.io.IOException e
        20: .line 452
      StackMap locals:
      StackMap stack:
            getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
            aload 2 /* c */
            aload 3 /* props */
            invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 453
            aload 3 /* props */
            aload 1
            monitorexit
        22: areturn
        end local 4 // java.io.InputStream istream
        end local 3 // java.util.Hashtable props
        end local 2 // java.lang.Class c
        23: .line 430
      StackMap locals: java.lang.Object java.util.WeakHashMap
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        24: athrow
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   25     0      obj  Ljava/lang/Object;
            4   23     2        c  Ljava/lang/Class;
            5   23     3    props  Ljava/util/Hashtable;
           11   23     4  istream  Ljava/io/InputStream;
           15   20     5        e  Ljava/io/IOException;
           18   20     6       ne  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
          12    13      14  Class java.io.IOException
           3     7      23  any
           8    22      23  any
          23    24      23  any
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      obj   

  private static java.util.Hashtable getApplicationResources();
    descriptor: ()Ljava/util/Hashtable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=0
         0: .line 476
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            invokevirtual com.sun.naming.internal.VersionHelper.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 0 /* cl */
        start local 0 // java.lang.ClassLoader cl
         1: .line 478
            getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
            dup
            astore 1
            monitorenter
         2: .line 479
            getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
            aload 0 /* cl */
            invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Hashtable
            astore 2 /* result */
        start local 2 // java.util.Hashtable result
         3: .line 480
            aload 2 /* result */
            ifnull 6
         4: .line 481
            aload 2 /* result */
            aload 1
            monitorexit
         5: areturn
         6: .line 486
      StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable
      StackMap stack:
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            aload 0 /* cl */
            ldc "jndi.properties"
            invokevirtual com.sun.naming.internal.VersionHelper.getResources:(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljavax/naming/NamingEnumeration;
         7: .line 485
            astore 3 /* resources */
        start local 3 // javax.naming.NamingEnumeration resources
         8: .line 487
            goto 15
         9: .line 488
      StackMap locals: javax.naming.NamingEnumeration
      StackMap stack:
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 4 /* props */
        start local 4 // java.util.Properties props
        10: .line 489
            aload 4 /* props */
            aload 3 /* resources */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            checkcast java.io.InputStream
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        11: .line 491
            aload 2 /* result */
            ifnonnull 14
        12: .line 492
            aload 4 /* props */
            astore 2 /* result */
        13: .line 493
            goto 15
        14: .line 494
      StackMap locals: java.util.Properties
      StackMap stack:
            aload 2 /* result */
            aload 4 /* props */
            invokestatic com.sun.naming.internal.ResourceManager.mergeTables:(Ljava/util/Hashtable;Ljava/util/Hashtable;)V
        end local 4 // java.util.Properties props
        15: .line 487
      StackMap locals:
      StackMap stack:
            aload 3 /* resources */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 9
        16: .line 500
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            ldc "jndi.properties"
            invokevirtual com.sun.naming.internal.VersionHelper.getJavaHomeLibStream:(Ljava/lang/String;)Ljava/io/InputStream;
        17: .line 499
            astore 4 /* istream */
        start local 4 // java.io.InputStream istream
        18: .line 501
            aload 4 /* istream */
            ifnull 32
        19: .line 502
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 5 /* props */
        start local 5 // java.util.Properties props
        20: .line 503
            aload 5 /* props */
            aload 4 /* istream */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        21: .line 505
            aload 2 /* result */
            ifnonnull 24
        22: .line 506
            aload 5 /* props */
            astore 2 /* result */
        23: .line 507
            goto 32
        24: .line 508
      StackMap locals: java.io.InputStream java.util.Properties
      StackMap stack:
            aload 2 /* result */
            aload 5 /* props */
            invokestatic com.sun.naming.internal.ResourceManager.mergeTables:(Ljava/util/Hashtable;Ljava/util/Hashtable;)V
        end local 5 // java.util.Properties props
        end local 4 // java.io.InputStream istream
        end local 3 // javax.naming.NamingEnumeration resources
        25: .line 512
            goto 32
      StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable
      StackMap stack: java.io.IOException
        26: astore 3 /* e */
        start local 3 // java.io.IOException e
        27: .line 513
            new javax.naming.ConfigurationException
            dup
        28: .line 514
            ldc "Error reading application resource file"
        29: .line 513
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            astore 4 /* ne */
        start local 4 // javax.naming.NamingException ne
        30: .line 515
            aload 4 /* ne */
            aload 3 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        31: .line 516
            aload 4 /* ne */
            athrow
        end local 4 // javax.naming.NamingException ne
        end local 3 // java.io.IOException e
        32: .line 518
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            ifnonnull 34
        33: .line 519
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 2 /* result */
        34: .line 521
      StackMap locals:
      StackMap stack:
            getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
            aload 0 /* cl */
            aload 2 /* result */
            invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 522
            aload 2 /* result */
            aload 1
            monitorexit
        36: areturn
        end local 2 // java.util.Hashtable result
        37: .line 478
      StackMap locals: java.lang.ClassLoader java.util.WeakHashMap
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        38: athrow
        end local 0 // java.lang.ClassLoader cl
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1   39     0         cl  Ljava/lang/ClassLoader;
            3   37     2     result  Ljava/util/Hashtable;
            8   25     3  resources  Ljavax/naming/NamingEnumeration;
           10   15     4      props  Ljava/util/Properties;
           18   25     4    istream  Ljava/io/InputStream;
           20   25     5      props  Ljava/util/Properties;
           27   32     3          e  Ljava/io/IOException;
           30   32     4         ne  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
           6    25      26  Class java.io.IOException
           2     5      37  any
           6    36      37  any
          37    38      37  any
    Exceptions:
      throws javax.naming.NamingException

  private static void mergeTables(java.util.Hashtable, java.util.Hashtable);
    descriptor: (Ljava/util/Hashtable;Ljava/util/Hashtable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.util.Hashtable props1
        start local 1 // java.util.Hashtable props2
         0: .line 534
            aload 1 /* props2 */
            invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
            astore 2 /* keys */
        start local 2 // java.util.Enumeration keys
         1: .line 536
            goto 10
         2: .line 537
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 2 /* keys */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* prop */
        start local 3 // java.lang.String prop
         3: .line 538
            aload 0 /* props1 */
            aload 3 /* prop */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* val1 */
        start local 4 // java.lang.Object val1
         4: .line 539
            aload 4 /* val1 */
            ifnonnull 7
         5: .line 540
            aload 0 /* props1 */
            aload 3 /* prop */
            aload 1 /* props2 */
            aload 3 /* prop */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 541
            goto 10
      StackMap locals: java.lang.String java.lang.Object
      StackMap stack:
         7: aload 3 /* prop */
            invokestatic com.sun.naming.internal.ResourceManager.isListProperty:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 542
            aload 1 /* props2 */
            aload 3 /* prop */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* val2 */
        start local 5 // java.lang.String val2
         9: .line 543
            aload 0 /* props1 */
            aload 3 /* prop */
            new java.lang.StringBuilder
            dup
            aload 4 /* val1 */
            checkcast java.lang.String
            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;
            aload 5 /* val2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String val2
        end local 4 // java.lang.Object val1
        end local 3 // java.lang.String prop
        10: .line 536
      StackMap locals:
      StackMap stack:
            aload 2 /* keys */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
        11: .line 546
            return
        end local 2 // java.util.Enumeration keys
        end local 1 // java.util.Hashtable props2
        end local 0 // java.util.Hashtable props1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0  props1  Ljava/util/Hashtable;
            0   12     1  props2  Ljava/util/Hashtable;
            1   12     2    keys  Ljava/util/Enumeration;
            3   10     3    prop  Ljava/lang/String;
            4   10     4    val1  Ljava/lang/Object;
            9   10     5    val2  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      props1  
      props2  

  private static boolean isListProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String prop
         0: .line 553
            aload 0 /* prop */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            astore 0 /* prop */
         1: .line 554
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 6
         3: .line 555
      StackMap locals: int
      StackMap stack:
            aload 0 /* prop */
            getstatic com.sun.naming.internal.ResourceManager.listProperties:[Ljava/lang/String;
            iload 1 /* i */
            aaload
            if_acmpne 5
         4: .line 556
            iconst_1
            ireturn
         5: .line 554
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            getstatic com.sun.naming.internal.ResourceManager.listProperties:[Ljava/lang/String;
            arraylength
            if_icmplt 3
        end local 1 // int i
         7: .line 559
            iconst_0
            ireturn
        end local 0 // java.lang.String prop
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  prop  Ljava/lang/String;
            2    7     1     i  I
    MethodParameters:
      Name  Flags
      prop  
}
SourceFile: "ResourceManager.java"