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 DISABLE_APP_RESOURCE_FILES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.naming.disable.app.resource.files"

  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<java.lang.Object, java.util.Hashtable<? super java.lang.String, java.lang.Object>> propertiesCache;
    descriptor: Ljava/util/WeakHashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/WeakHashMap<Ljava/lang/Object;Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;>;

  private static final java.util.WeakHashMap<java.lang.ClassLoader, java.util.Map<java.lang.String, java.util.List<com.sun.naming.internal.NamedWeakReference<java.lang.Object>>>> factoryCache;
    descriptor: Ljava/util/WeakHashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/WeakHashMap<Ljava/lang/ClassLoader;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/sun/naming/internal/NamedWeakReference<Ljava/lang/Object;>;>;>;>;

  private static final java.util.WeakHashMap<java.lang.ClassLoader, java.util.Map<java.lang.String, java.lang.ref.WeakReference<java.lang.Object>>> urlFactoryCache;
    descriptor: Ljava/util/WeakHashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/WeakHashMap<Ljava/lang/ClassLoader;Ljava/util/Map<Ljava/lang/String;Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;>;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 80
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 81
            ldc "java.naming.factory.object"
            aastore
            dup
            iconst_1
         2: .line 82
            ldc "java.naming.factory.url.pkgs"
            aastore
            dup
            iconst_2
         3: .line 83
            ldc "java.naming.factory.state"
            aastore
            dup
            iconst_3
         4: .line 85
            ldc "java.naming.factory.control"
            aastore
         5: .line 80
            putstatic com.sun.naming.internal.ResourceManager.listProperties:[Ljava/lang/String;
         6: .line 89
            invokestatic com.sun.naming.internal.VersionHelper.getVersionHelper:()Lcom/sun/naming/internal/VersionHelper;
         7: .line 88
            putstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
         8: .line 100
            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 112
            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 125
            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 127
            new java.lang.ref.WeakReference
            dup
            aconst_null
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
        12: .line 126
            putstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
        13: .line 127
            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 176
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 177
            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 203
            getstatic com.sun.naming.internal.VersionHelper.PROPS:[Ljava/lang/String;
            astore 1 /* props */
        start local 1 // java.lang.String[] props
         1: .line 204
            aload 0 /* env */
            ifnonnull 3
         2: .line 205
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 0 /* env */
         3: .line 207
      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;
            astore 2 /* applet */
        start local 2 // java.lang.Object applet
         4: .line 216
            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 217
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 19
         7: .line 218
      StackMap locals: java.lang.Object 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 219
            aload 5 /* val */
            ifnonnull 18
         9: .line 220
            aload 2 /* applet */
            ifnull 11
        10: .line 221
            aload 2 /* applet */
            aload 1 /* props */
            iload 4 /* i */
            aaload
            invokestatic com.sun.naming.internal.ResourceManager$AppletParameter.get:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 5 /* val */
        11: .line 223
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* val */
            ifnonnull 16
        12: .line 225
            aload 3 /* jndiSysProps */
            ifnull 14
        13: .line 226
            aload 3 /* jndiSysProps */
            iload 4 /* i */
            aaload
            goto 15
        14: .line 227
      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 225
      StackMap locals:
      StackMap stack: java.lang.String
            astore 5 /* val */
        16: .line 229
      StackMap locals:
      StackMap stack:
            aload 5 /* val */
            ifnull 18
        17: .line 230
            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 217
      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 237
            aload 0 /* env */
            ldc "com.sun.naming.disable.app.resource.files"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* disableAppRes */
        start local 4 // java.lang.String disableAppRes
        21: .line 238
            aload 4 /* disableAppRes */
            ifnull 23
            aload 4 /* disableAppRes */
            ldc "true"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 23
        22: .line 239
            aload 0 /* env */
            areturn
        23: .line 244
      StackMap locals: java.util.Hashtable java.lang.String[] java.lang.Object java.lang.String[] java.lang.String
      StackMap stack:
            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
        24: .line 245
            aload 0 /* env */
            areturn
        end local 4 // java.lang.String disableAppRes
        end local 3 // java.lang.String[] jndiSysProps
        end local 2 // java.lang.Object applet
        end local 1 // java.lang.String[] props
        end local 0 // java.util.Hashtable env
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0            env  Ljava/util/Hashtable<**>;
            1   25     1          props  [Ljava/lang/String;
            4   25     2         applet  Ljava/lang/Object;
            5   25     3   jndiSysProps  [Ljava/lang/String;
            6   20     4              i  I
            8   18     5            val  Ljava/lang/Object;
           21   25     4  disableAppRes  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    Signature: (Ljava/util/Hashtable<**>;)Ljava/util/Hashtable<**>;
    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 272
            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 273
            aload 2 /* ctx */
            ifnull 5
         4: .line 274
            aload 4 /* val1 */
            ifnull 6
            iload 3 /* concat */
            ifne 6
         5: .line 275
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* val1 */
            areturn
         6: .line 277
      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 278
            aload 4 /* val1 */
            ifnonnull 9
         8: .line 279
            aload 5 /* val2 */
            areturn
         9: .line 280
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* val2 */
            ifnull 10
            iload 3 /* concat */
            ifne 11
        10: .line 281
      StackMap locals:
      StackMap stack:
            aload 4 /* val1 */
            areturn
        11: .line 283
      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
    Signature: (Ljava/lang/String;Ljava/util/Hashtable<**>;Ljavax/naming/Context;Z)Ljava/lang/String;
    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 332
            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 333
            aload 3 /* facProp */
            ifnonnull 3
         2: .line 334
            aconst_null
            areturn
         3: .line 337
      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 339
            aconst_null
            astore 5 /* perLoaderCache */
        start local 5 // java.util.Map perLoaderCache
         5: .line 340
            getstatic com.sun.naming.internal.ResourceManager.factoryCache:Ljava/util/WeakHashMap;
            dup
            astore 6
            monitorenter
         6: .line 341
            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 342
            aload 5 /* perLoaderCache */
            ifnonnull 10
         8: .line 343
            new java.util.HashMap
            dup
            bipush 11
            invokespecial java.util.HashMap.<init>:(I)V
            astore 5 /* perLoaderCache */
         9: .line 344
            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 340
      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 348
      StackMap locals:
      StackMap stack:
            aload 5 /* perLoaderCache */
            dup
            astore 6
            monitorenter
        15: .line 350
            aload 5 /* perLoaderCache */
            aload 3 /* facProp */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
        16: .line 349
            astore 7 /* factories */
        start local 7 // java.util.List factories
        17: .line 351
            aload 7 /* factories */
            ifnull 22
        18: .line 353
            aload 7 /* factories */
            invokeinterface java.util.List.size:()I
            ifne 19
            aconst_null
            goto 20
        19: .line 354
      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
        20: .line 353
      StackMap locals:
      StackMap stack: com.sun.naming.internal.FactoryEnumeration
            aload 6
            monitorexit
        21: areturn
        22: .line 358
      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
        23: .line 359
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* factories */
        24: .line 360
            goto 30
        25: .line 363
      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
        26: .line 364
            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
        27: .line 365
            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
        28: .line 366
            goto 30
      StackMap locals:
      StackMap stack: java.lang.Exception
        29: pop
        30: .line 360
      StackMap locals:
      StackMap stack:
            aload 8 /* parser */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 25
        31: .line 371
            aload 5 /* perLoaderCache */
            aload 3 /* facProp */
            aload 7 /* factories */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 372
            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
        33: areturn
        end local 8 // java.util.StringTokenizer parser
        end local 7 // java.util.List factories
        34: .line 348
      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
        35: 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   36     0        propName  Ljava/lang/String;
            0   36     1             env  Ljava/util/Hashtable<**>;
            0   36     2             ctx  Ljavax/naming/Context;
            1   36     3         facProp  Ljava/lang/String;
            4   36     4          loader  Ljava/lang/ClassLoader;
            5   36     5  perLoaderCache  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/sun/naming/internal/NamedWeakReference<Ljava/lang/Object;>;>;>;
           17   34     7       factories  Ljava/util/List<Lcom/sun/naming/internal/NamedWeakReference<Ljava/lang/Object;>;>;
           23   34     8          parser  Ljava/util/StringTokenizer;
           26   28     9       className  Ljava/lang/String;
           27   28    10               c  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           6    11      12  any
          12    13      12  any
          25    28      29  Class java.lang.Exception
          15    21      34  any
          22    33      34  any
          34    35      34  any
    Exceptions:
      throws javax.naming.NamingException
    Signature: (Ljava/lang/String;Ljava/util/Hashtable<**>;Ljavax/naming/Context;)Lcom/sun/naming/internal/FactoryEnumeration;
    MethodParameters:
          Name  Flags
      propName  
      env       
      ctx       

  public static  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 418
            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 419
            aload 5 /* facProp */
            ifnull 3
         2: .line 420
            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 422
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* defaultPkgPrefix */
            astore 5 /* facProp */
         4: .line 426
      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 427
            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 429
            aconst_null
            astore 8 /* perLoaderCache */
        start local 8 // java.util.Map perLoaderCache
         7: .line 430
            getstatic com.sun.naming.internal.ResourceManager.urlFactoryCache:Ljava/util/WeakHashMap;
            dup
            astore 9
            monitorenter
         8: .line 431
            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 432
            aload 8 /* perLoaderCache */
            ifnonnull 12
        10: .line 433
            new java.util.HashMap
            dup
            bipush 11
            invokespecial java.util.HashMap.<init>:(I)V
            astore 8 /* perLoaderCache */
        11: .line 434
            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 430
      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 438
      StackMap locals:
      StackMap stack:
            aload 8 /* perLoaderCache */
            dup
            astore 9
            monitorenter
        17: .line 439
            aconst_null
            astore 10 /* factory */
        start local 10 // java.lang.Object factory
        18: .line 441
            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 442
            aload 11 /* factoryRef */
            getstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
            if_acmpne 22
        20: .line 443
            aload 9
            monitorexit
        21: aconst_null
            areturn
        22: .line 444
      StackMap locals: java.util.Map java.lang.Object java.lang.ref.WeakReference
      StackMap stack:
            aload 11 /* factoryRef */
            ifnull 27
        23: .line 445
            aload 11 /* factoryRef */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            astore 10 /* factory */
        24: .line 446
            aload 10 /* factory */
            ifnull 27
        25: .line 447
            aload 10 /* factory */
            aload 9
            monitorexit
        26: areturn
        27: .line 452
      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 454
            goto 43
        29: .line 455
      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 458
            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 459
            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 461
            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 460
            astore 15 /* ne */
        start local 15 // javax.naming.NamingException ne
        35: .line 462
            aload 15 /* ne */
            aload 14 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        36: .line 463
            aload 15 /* ne */
            athrow
        end local 15 // javax.naming.NamingException ne
        end local 14 // java.lang.InstantiationException e
        37: .line 464
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 14 /* e */
        start local 14 // java.lang.IllegalAccessException e
        38: .line 466
            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 465
            astore 15 /* ne */
        start local 15 // javax.naming.NamingException ne
        40: .line 467
            aload 15 /* ne */
            aload 14 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        41: .line 468
            aload 15 /* ne */
            athrow
        end local 15 // javax.naming.NamingException ne
        end local 14 // java.lang.IllegalAccessException e
        42: .line 469
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        end local 13 // java.lang.String className
        43: .line 454
      StackMap locals:
      StackMap stack:
            aload 10 /* factory */
            ifnonnull 44
            aload 12 /* parser */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 29
        44: .line 476
      StackMap locals:
      StackMap stack:
            aload 8 /* perLoaderCache */
            aload 7 /* key */
            aload 10 /* factory */
            ifnull 46
        45: .line 477
            new java.lang.ref.WeakReference
            dup
            aload 10 /* factory */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            goto 47
        46: .line 478
      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 476
      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 479
            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 438
      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<Ljava/lang/String;Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;>;
           18   50    10           factory  Ljava/lang/Object;
           19   50    11        factoryRef  Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;
           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
    Signature: (Ljava/lang/String;Ljava/util/Hashtable<**>;Ljavax/naming/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      propName          
      env               
      ctx               
      classSuffix       
      defaultPkgPrefix  

  private static java.util.Hashtable<? super java.lang.String, java.lang.Object> getProviderResource();
    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 498
            aload 0 /* obj */
            ifnonnull 2
         1: .line 499
            new java.util.Hashtable
            dup
            iconst_1
            invokespecial java.util.Hashtable.<init>:(I)V
            areturn
         2: .line 501
      StackMap locals:
      StackMap stack:
            getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
            dup
            astore 1
            monitorenter
         3: .line 502
            aload 0 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* c */
        start local 2 // java.lang.Class c
         4: .line 505
            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
         5: .line 504
            astore 3 /* props */
        start local 3 // java.util.Hashtable props
         6: .line 506
            aload 3 /* props */
            ifnull 9
         7: .line 507
            aload 3 /* props */
            aload 1
            monitorexit
         8: areturn
         9: .line 509
      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 */
        10: .line 512
            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;
        11: .line 511
            astore 4 /* istream */
        start local 4 // java.io.InputStream istream
        12: .line 514
            aload 4 /* istream */
            ifnull 21
        13: .line 516
            aload 3 /* props */
            checkcast java.util.Properties
            aload 4 /* istream */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        14: .line 517
            goto 21
      StackMap locals: java.lang.Object java.util.WeakHashMap java.lang.Class java.util.Hashtable java.io.InputStream
      StackMap stack: java.io.IOException
        15: astore 5 /* e */
        start local 5 // java.io.IOException e
        16: .line 518
            new javax.naming.ConfigurationException
            dup
        17: .line 519
            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;
        18: .line 518
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            astore 6 /* ne */
        start local 6 // javax.naming.NamingException ne
        19: .line 520
            aload 6 /* ne */
            aload 5 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        20: .line 521
            aload 6 /* ne */
            athrow
        end local 6 // javax.naming.NamingException ne
        end local 5 // java.io.IOException e
        21: .line 524
      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
        22: .line 525
            aload 3 /* props */
            aload 1
            monitorexit
        23: areturn
        end local 4 // java.io.InputStream istream
        end local 3 // java.util.Hashtable props
        end local 2 // java.lang.Class c
        24: .line 501
      StackMap locals: java.lang.Object java.util.WeakHashMap
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        25: athrow
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0      obj  Ljava/lang/Object;
            4   24     2        c  Ljava/lang/Class<*>;
            6   24     3    props  Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;
           12   24     4  istream  Ljava/io/InputStream;
           16   21     5        e  Ljava/io/IOException;
           19   21     6       ne  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
          13    14      15  Class java.io.IOException
           3     8      24  any
           9    23      24  any
          24    25      24  any
    Exceptions:
      throws javax.naming.NamingException
    Signature: (Ljava/lang/Object;)Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      obj   

  private static java.util.Hashtable<? super java.lang.String, java.lang.Object> getApplicationResources();
    descriptor: ()Ljava/util/Hashtable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=0
         0: .line 549
            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 551
            getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
            dup
            astore 1
            monitorenter
         2: .line 552
            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 553
            aload 2 /* result */
            ifnull 6
         4: .line 554
            aload 2 /* result */
            aload 1
            monitorexit
         5: areturn
         6: .line 559
      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 558
            astore 3 /* resources */
        start local 3 // javax.naming.NamingEnumeration resources
         8: .line 560
            goto 15
         9: .line 561
      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 562
            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 564
            aload 2 /* result */
            ifnonnull 14
        12: .line 565
            aload 4 /* props */
            astore 2 /* result */
        13: .line 566
            goto 15
        14: .line 567
      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 560
      StackMap locals:
      StackMap stack:
            aload 3 /* resources */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 9
        16: .line 573
            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 572
            astore 4 /* istream */
        start local 4 // java.io.InputStream istream
        18: .line 574
            aload 4 /* istream */
            ifnull 32
        19: .line 575
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 5 /* props */
        start local 5 // java.util.Properties props
        20: .line 576
            aload 5 /* props */
            aload 4 /* istream */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        21: .line 578
            aload 2 /* result */
            ifnonnull 24
        22: .line 579
            aload 5 /* props */
            astore 2 /* result */
        23: .line 580
            goto 32
        24: .line 581
      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 585
            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 586
            new javax.naming.ConfigurationException
            dup
        28: .line 587
            ldc "Error reading application resource file"
        29: .line 586
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            astore 4 /* ne */
        start local 4 // javax.naming.NamingException ne
        30: .line 588
            aload 4 /* ne */
            aload 3 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        31: .line 589
            aload 4 /* ne */
            athrow
        end local 4 // javax.naming.NamingException ne
        end local 3 // java.io.IOException e
        32: .line 591
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            ifnonnull 34
        33: .line 592
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 2 /* result */
        34: .line 594
      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 595
            aload 2 /* result */
            aload 1
            monitorexit
        36: areturn
        end local 2 // java.util.Hashtable result
        37: .line 551
      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<-Ljava/lang/String;Ljava/lang/Object;>;
            8   25     3  resources  Ljavax/naming/NamingEnumeration<Ljava/io/InputStream;>;
           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
    Signature: ()Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;

  private static void mergeTables(java.util.Hashtable<? super java.lang.String, java.lang.Object>, java.util.Hashtable<? super java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Hashtable;Ljava/util/Hashtable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.util.Hashtable props1
        start local 1 // java.util.Hashtable props2
         0: .line 608
            aload 1 /* props2 */
            invokevirtual java.util.Hashtable.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: java.util.Hashtable java.util.Hashtable top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* key */
        start local 2 // java.lang.Object key
         2: .line 609
            aload 2 /* key */
            checkcast java.lang.String
            astore 4 /* prop */
        start local 4 // java.lang.String prop
         3: .line 610
            aload 0 /* props1 */
            aload 4 /* prop */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* val1 */
        start local 5 // java.lang.Object val1
         4: .line 611
            aload 5 /* val1 */
            ifnonnull 7
         5: .line 612
            aload 0 /* props1 */
            aload 4 /* prop */
            aload 1 /* props2 */
            aload 4 /* 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 613
            goto 10
      StackMap locals: java.util.Hashtable java.util.Hashtable java.lang.Object java.util.Iterator java.lang.String java.lang.Object
      StackMap stack:
         7: aload 4 /* prop */
            invokestatic com.sun.naming.internal.ResourceManager.isListProperty:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 614
            aload 1 /* props2 */
            aload 4 /* prop */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* val2 */
        start local 6 // java.lang.String val2
         9: .line 615
            aload 0 /* props1 */
            aload 4 /* prop */
            new java.lang.StringBuilder
            dup
            aload 5 /* 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 6 /* 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 6 // java.lang.String val2
        end local 5 // java.lang.Object val1
        end local 4 // java.lang.String prop
        end local 2 // java.lang.Object key
        10: .line 608
      StackMap locals: java.util.Hashtable java.util.Hashtable top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        11: .line 618
            return
        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<-Ljava/lang/String;Ljava/lang/Object;>;
            0   12     1  props2  Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;
            2   10     2     key  Ljava/lang/Object;
            3   10     4    prop  Ljava/lang/String;
            4   10     5    val1  Ljava/lang/Object;
            9   10     6    val2  Ljava/lang/String;
    Signature: (Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;)V
    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 625
            aload 0 /* prop */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            astore 0 /* prop */
         1: .line 626
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 6
         3: .line 627
      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 628
            iconst_1
            ireturn
         5: .line 626
      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 631
            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"
NestMembers:
  com.sun.naming.internal.ResourceManager$AppletParameter
InnerClasses:
  private AppletParameter = com.sun.naming.internal.ResourceManager$AppletParameter of com.sun.naming.internal.ResourceManager