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 JRE_CONF_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 78
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 79
            ldc "java.naming.factory.object"
            aastore
            dup
            iconst_1
         2: .line 80
            ldc "java.naming.factory.url.pkgs"
            aastore
            dup
            iconst_2
         3: .line 81
            ldc "java.naming.factory.state"
            aastore
            dup
            iconst_3
         4: .line 83
            ldc "java.naming.factory.control"
            aastore
         5: .line 78
            putstatic com.sun.naming.internal.ResourceManager.listProperties:[Ljava/lang/String;
         6: .line 87
            invokestatic com.sun.naming.internal.VersionHelper.getVersionHelper:()Lcom/sun/naming/internal/VersionHelper;
         7: .line 86
            putstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
         8: .line 98
            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 110
            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 123
            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 125
            new java.lang.ref.WeakReference
            dup
            aconst_null
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
        12: .line 124
            putstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
        13: .line 125
            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 128
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 129
            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=5, args_size=1
        start local 0 // java.util.Hashtable env
         0: .line 153
            getstatic com.sun.naming.internal.VersionHelper.PROPS:[Ljava/lang/String;
            astore 1 /* props */
        start local 1 // java.lang.String[] props
         1: .line 154
            aload 0 /* env */
            ifnonnull 3
         2: .line 155
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 0 /* env */
         3: .line 165
      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.getJndiProperties:()[Ljava/lang/String;
            astore 2 /* jndiSysProps */
        start local 2 // java.lang.String[] jndiSysProps
         4: .line 166
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 15
         6: .line 167
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* env */
            aload 1 /* props */
            iload 3 /* i */
            aaload
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* val */
        start local 4 // java.lang.Object val
         7: .line 168
            aload 4 /* val */
            ifnonnull 12
         8: .line 170
            aload 2 /* jndiSysProps */
            ifnull 10
         9: .line 171
            aload 2 /* jndiSysProps */
            iload 3 /* i */
            aaload
            goto 11
        10: .line 172
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            iload 3 /* i */
            invokevirtual com.sun.naming.internal.VersionHelper.getJndiProperty:(I)Ljava/lang/String;
        11: .line 170
      StackMap locals:
      StackMap stack: java.lang.String
            astore 4 /* val */
        12: .line 174
      StackMap locals:
      StackMap stack:
            aload 4 /* val */
            ifnull 14
        13: .line 175
            aload 0 /* env */
            aload 1 /* props */
            iload 3 /* i */
            aaload
            aload 4 /* val */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.Object val
        14: .line 166
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 1 /* props */
            arraylength
            if_icmplt 6
        end local 3 // int i
        16: .line 181
            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 3 /* disableAppRes */
        start local 3 // java.lang.String disableAppRes
        17: .line 182
            aload 3 /* disableAppRes */
            ifnull 19
            aload 3 /* disableAppRes */
            ldc "true"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
        18: .line 183
            aload 0 /* env */
            areturn
        19: .line 188
      StackMap locals: java.util.Hashtable java.lang.String[] 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
        20: .line 189
            aload 0 /* env */
            areturn
        end local 3 // java.lang.String disableAppRes
        end local 2 // java.lang.String[] jndiSysProps
        end local 1 // java.lang.String[] props
        end local 0 // java.util.Hashtable env
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0            env  Ljava/util/Hashtable<**>;
            1   21     1          props  [Ljava/lang/String;
            4   21     2   jndiSysProps  [Ljava/lang/String;
            5   16     3              i  I
            7   14     4            val  Ljava/lang/Object;
           17   21     3  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 216
            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 217
            aload 2 /* ctx */
            ifnull 5
         4: .line 218
            aload 4 /* val1 */
            ifnull 6
            iload 3 /* concat */
            ifne 6
         5: .line 219
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* val1 */
            areturn
         6: .line 221
      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 222
            aload 4 /* val1 */
            ifnonnull 9
         8: .line 223
            aload 5 /* val2 */
            areturn
         9: .line 224
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* val2 */
            ifnull 10
            iload 3 /* concat */
            ifne 11
        10: .line 225
      StackMap locals:
      StackMap stack:
            aload 4 /* val1 */
            areturn
        11: .line 227
      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 276
            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 277
            aload 3 /* facProp */
            ifnonnull 3
         2: .line 278
            aconst_null
            areturn
         3: .line 281
      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 283
            aconst_null
            astore 5 /* perLoaderCache */
        start local 5 // java.util.Map perLoaderCache
         5: .line 284
            getstatic com.sun.naming.internal.ResourceManager.factoryCache:Ljava/util/WeakHashMap;
            dup
            astore 6
            monitorenter
         6: .line 285
            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 286
            aload 5 /* perLoaderCache */
            ifnonnull 10
         8: .line 287
            new java.util.HashMap
            dup
            bipush 11
            invokespecial java.util.HashMap.<init>:(I)V
            astore 5 /* perLoaderCache */
         9: .line 288
            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 284
      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 292
      StackMap locals:
      StackMap stack:
            aload 5 /* perLoaderCache */
            dup
            astore 6
            monitorenter
        15: .line 294
            aload 5 /* perLoaderCache */
            aload 3 /* facProp */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
        16: .line 293
            astore 7 /* factories */
        start local 7 // java.util.List factories
        17: .line 295
            aload 7 /* factories */
            ifnull 22
        18: .line 297
            aload 7 /* factories */
            invokeinterface java.util.List.size:()I
            ifne 19
            aconst_null
            goto 20
        19: .line 298
      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 297
      StackMap locals:
      StackMap stack: com.sun.naming.internal.FactoryEnumeration
            aload 6
            monitorexit
        21: areturn
        22: .line 302
      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 303
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* factories */
        24: .line 304
            goto 30
        25: .line 307
      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 308
            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 309
            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 310
            goto 30
      StackMap locals:
      StackMap stack: java.lang.Exception
        29: pop
        30: .line 304
      StackMap locals:
      StackMap stack:
            aload 8 /* parser */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 25
        31: .line 315
            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 316
            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 292
      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 362
            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 363
            aload 5 /* facProp */
            ifnull 3
         2: .line 364
            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 366
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* defaultPkgPrefix */
            astore 5 /* facProp */
         4: .line 370
      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 371
            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 373
            aconst_null
            astore 8 /* perLoaderCache */
        start local 8 // java.util.Map perLoaderCache
         7: .line 374
            getstatic com.sun.naming.internal.ResourceManager.urlFactoryCache:Ljava/util/WeakHashMap;
            dup
            astore 9
            monitorenter
         8: .line 375
            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 376
            aload 8 /* perLoaderCache */
            ifnonnull 12
        10: .line 377
            new java.util.HashMap
            dup
            bipush 11
            invokespecial java.util.HashMap.<init>:(I)V
            astore 8 /* perLoaderCache */
        11: .line 378
            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 374
      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 382
      StackMap locals:
      StackMap stack:
            aload 8 /* perLoaderCache */
            dup
            astore 9
            monitorenter
        17: .line 383
            aconst_null
            astore 10 /* factory */
        start local 10 // java.lang.Object factory
        18: .line 385
            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 386
            aload 11 /* factoryRef */
            getstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
            if_acmpne 22
        20: .line 387
            aload 9
            monitorexit
        21: aconst_null
            areturn
        22: .line 388
      StackMap locals: java.util.Map java.lang.Object java.lang.ref.WeakReference
      StackMap stack:
            aload 11 /* factoryRef */
            ifnull 27
        23: .line 389
            aload 11 /* factoryRef */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            astore 10 /* factory */
        24: .line 390
            aload 10 /* factory */
            ifnull 27
        25: .line 391
            aload 10 /* factory */
            aload 9
            monitorexit
        26: areturn
        27: .line 396
      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 398
            goto 44
        29: .line 399
      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 403
            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 14 /* tmp */
        start local 14 // java.lang.Object tmp
        31: .line 404
            aload 14 /* tmp */
            astore 10 /* factory */
        end local 14 // java.lang.Object tmp
        32: .line 405
            goto 44
      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
        33: astore 14 /* e */
        start local 14 // java.lang.InstantiationException e
        34: .line 407
            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
        35: .line 406
            astore 15 /* ne */
        start local 15 // javax.naming.NamingException ne
        36: .line 408
            aload 15 /* ne */
            aload 14 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        37: .line 409
            aload 15 /* ne */
            athrow
        end local 15 // javax.naming.NamingException ne
        end local 14 // java.lang.InstantiationException e
        38: .line 410
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 14 /* e */
        start local 14 // java.lang.IllegalAccessException e
        39: .line 412
            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
        40: .line 411
            astore 15 /* ne */
        start local 15 // javax.naming.NamingException ne
        41: .line 413
            aload 15 /* ne */
            aload 14 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        42: .line 414
            aload 15 /* ne */
            athrow
        end local 15 // javax.naming.NamingException ne
        end local 14 // java.lang.IllegalAccessException e
        43: .line 415
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        end local 13 // java.lang.String className
        44: .line 398
      StackMap locals:
      StackMap stack:
            aload 10 /* factory */
            ifnonnull 45
            aload 12 /* parser */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 29
        45: .line 422
      StackMap locals:
      StackMap stack:
            aload 8 /* perLoaderCache */
            aload 7 /* key */
            aload 10 /* factory */
            ifnull 47
        46: .line 423
            new java.lang.ref.WeakReference
            dup
            aload 10 /* factory */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            goto 48
        47: .line 424
      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;
        48: .line 422
      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
        49: .line 425
            aload 10 /* factory */
            aload 9
            monitorexit
        50: areturn
        end local 12 // java.util.StringTokenizer parser
        end local 11 // java.lang.ref.WeakReference factoryRef
        end local 10 // java.lang.Object factory
        51: .line 382
      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
        52: 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   53     0          propName  Ljava/lang/String;
            0   53     1               env  Ljava/util/Hashtable<**>;
            0   53     2               ctx  Ljavax/naming/Context;
            0   53     3       classSuffix  Ljava/lang/String;
            0   53     4  defaultPkgPrefix  Ljava/lang/String;
            1   53     5           facProp  Ljava/lang/String;
            5   53     6            loader  Ljava/lang/ClassLoader;
            6   53     7               key  Ljava/lang/String;
            7   53     8    perLoaderCache  Ljava/util/Map<Ljava/lang/String;Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;>;
           18   51    10           factory  Ljava/lang/Object;
           19   51    11        factoryRef  Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;
           28   51    12            parser  Ljava/util/StringTokenizer;
           30   44    13         className  Ljava/lang/String;
           31   32    14               tmp  Ljava/lang/Object;
           34   38    14                 e  Ljava/lang/InstantiationException;
           36   38    15                ne  Ljavax/naming/NamingException;
           39   43    14                 e  Ljava/lang/IllegalAccessException;
           41   43    15                ne  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
           8    13      14  any
          14    15      14  any
          30    32      33  Class java.lang.InstantiationException
          30    32      38  Class java.lang.IllegalAccessException
          30    32      43  Class java.lang.Exception
          17    21      51  any
          22    26      51  any
          27    50      51  any
          51    52      51  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 444
            aload 0 /* obj */
            ifnonnull 2
         1: .line 445
            new java.util.Hashtable
            dup
            iconst_1
            invokespecial java.util.Hashtable.<init>:(I)V
            areturn
         2: .line 447
      StackMap locals:
      StackMap stack:
            getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
            dup
            astore 1
            monitorenter
         3: .line 448
            aload 0 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* c */
        start local 2 // java.lang.Class c
         4: .line 451
            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 450
            astore 3 /* props */
        start local 3 // java.util.Hashtable props
         6: .line 452
            aload 3 /* props */
            ifnull 9
         7: .line 453
            aload 3 /* props */
            aload 1
            monitorexit
         8: areturn
         9: .line 455
      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 458
            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 457
            astore 4 /* istream */
        start local 4 // java.io.InputStream istream
        12: .line 460
            aload 4 /* istream */
            ifnull 21
        13: .line 462
            aload 3 /* props */
            checkcast java.util.Properties
            aload 4 /* istream */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        14: .line 463
            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 464
            new javax.naming.ConfigurationException
            dup
        17: .line 465
            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 464
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            astore 6 /* ne */
        start local 6 // javax.naming.NamingException ne
        19: .line 466
            aload 6 /* ne */
            aload 5 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        20: .line 467
            aload 6 /* ne */
            athrow
        end local 6 // javax.naming.NamingException ne
        end local 5 // java.io.IOException e
        21: .line 470
      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 471
            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 447
      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=8, args_size=0
         0: .line 495
            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 497
            getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
            dup
            astore 1
            monitorenter
         2: .line 498
            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 499
            aload 2 /* result */
            ifnull 6
         4: .line 500
            aload 2 /* result */
            aload 1
            monitorexit
         5: areturn
         6: .line 505
      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 504
            astore 3 /* resources */
        start local 3 // javax.naming.NamingEnumeration resources
         8: .line 507
            goto 21
         9: .line 508
      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 509
            aload 3 /* resources */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            checkcast java.io.InputStream
            astore 5 /* istream */
        start local 5 // java.io.InputStream istream
        11: .line 511
            aload 4 /* props */
            aload 5 /* istream */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        12: .line 512
            goto 16
      StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable javax.naming.NamingEnumeration java.util.Properties java.io.InputStream
      StackMap stack: java.lang.Throwable
        13: astore 6
        14: .line 513
            aload 5 /* istream */
            invokevirtual java.io.InputStream.close:()V
        15: .line 514
            aload 6
            athrow
        16: .line 513
      StackMap locals:
      StackMap stack:
            aload 5 /* istream */
            invokevirtual java.io.InputStream.close:()V
        17: .line 516
            aload 2 /* result */
            ifnonnull 20
        18: .line 517
            aload 4 /* props */
            astore 2 /* result */
        19: .line 518
            goto 21
        20: .line 519
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            aload 4 /* props */
            invokestatic com.sun.naming.internal.ResourceManager.mergeTables:(Ljava/util/Hashtable;Ljava/util/Hashtable;)V
        end local 5 // java.io.InputStream istream
        end local 4 // java.util.Properties props
        21: .line 507
      StackMap locals:
      StackMap stack:
            aload 3 /* resources */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 9
        22: .line 522
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 7
        24: .line 523
            goto 26
        25: .line 524
      StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable javax.naming.NamingEnumeration top top top java.lang.Throwable
      StackMap stack:
            aload 3 /* resources */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            checkcast java.io.InputStream
            invokevirtual java.io.InputStream.close:()V
        26: .line 523
      StackMap locals:
      StackMap stack:
            aload 3 /* resources */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 25
        27: .line 526
            aload 7
            athrow
        28: .line 524
      StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable javax.naming.NamingEnumeration
      StackMap stack:
            aload 3 /* resources */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            checkcast java.io.InputStream
            invokevirtual java.io.InputStream.close:()V
        29: .line 523
      StackMap locals:
      StackMap stack:
            aload 3 /* resources */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 28
        30: .line 530
            getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
            ldc "jndi.properties"
            invokevirtual com.sun.naming.internal.VersionHelper.getJavaHomeConfStream:(Ljava/lang/String;)Ljava/io/InputStream;
        31: .line 529
            astore 4 /* istream */
        start local 4 // java.io.InputStream istream
        32: .line 531
            aload 4 /* istream */
            ifnull 51
        33: .line 533
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 5 /* props */
        start local 5 // java.util.Properties props
        34: .line 534
            aload 5 /* props */
            aload 4 /* istream */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        35: .line 536
            aload 2 /* result */
            ifnonnull 38
        36: .line 537
            aload 5 /* props */
            astore 2 /* result */
        37: .line 538
            goto 43
        38: .line 539
      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
        39: .line 541
            goto 43
      StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable javax.naming.NamingEnumeration java.io.InputStream
      StackMap stack: java.lang.Throwable
        40: astore 6
        41: .line 542
            aload 4 /* istream */
            invokevirtual java.io.InputStream.close:()V
        42: .line 543
            aload 6
            athrow
        43: .line 542
      StackMap locals:
      StackMap stack:
            aload 4 /* istream */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.io.InputStream istream
        end local 3 // javax.naming.NamingEnumeration resources
        44: .line 546
            goto 51
      StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable
      StackMap stack: java.io.IOException
        45: astore 3 /* e */
        start local 3 // java.io.IOException e
        46: .line 547
            new javax.naming.ConfigurationException
            dup
        47: .line 548
            ldc "Error reading application resource file"
        48: .line 547
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            astore 4 /* ne */
        start local 4 // javax.naming.NamingException ne
        49: .line 549
            aload 4 /* ne */
            aload 3 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        50: .line 550
            aload 4 /* ne */
            athrow
        end local 4 // javax.naming.NamingException ne
        end local 3 // java.io.IOException e
        51: .line 552
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            ifnonnull 53
        52: .line 553
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 2 /* result */
        53: .line 555
      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
        54: .line 556
            aload 2 /* result */
            aload 1
            monitorexit
        55: areturn
        end local 2 // java.util.Hashtable result
        56: .line 497
      StackMap locals: java.lang.ClassLoader java.util.WeakHashMap
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        57: athrow
        end local 0 // java.lang.ClassLoader cl
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1   58     0         cl  Ljava/lang/ClassLoader;
            3   56     2     result  Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;
            8   44     3  resources  Ljavax/naming/NamingEnumeration<Ljava/io/InputStream;>;
           10   21     4      props  Ljava/util/Properties;
           11   21     5    istream  Ljava/io/InputStream;
           32   44     4    istream  Ljava/io/InputStream;
           34   39     5      props  Ljava/util/Properties;
           46   51     3          e  Ljava/io/IOException;
           49   51     4         ne  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
          11    13      13  any
           8    23      23  any
          33    40      40  any
           6    44      45  Class java.io.IOException
           2     5      56  any
           6    55      56  any
          56    57      56  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 569
            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 570
            aload 2 /* key */
            checkcast java.lang.String
            astore 4 /* prop */
        start local 4 // java.lang.String prop
         3: .line 571
            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 572
            aload 5 /* val1 */
            ifnonnull 7
         5: .line 573
            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 574
            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 575
            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 576
            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 569
      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 579
            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 586
            aload 0 /* prop */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            astore 0 /* prop */
         1: .line 587
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 6
         3: .line 588
      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 589
            iconst_1
            ireturn
         5: .line 587
      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 592
            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"