public class org.apache.naming.java.javaURLContextFactory implements javax.naming.spi.ObjectFactory, javax.naming.spi.InitialContextFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.naming.java.javaURLContextFactory
  super_class: java.lang.Object
{
  public static final java.lang.String MAIN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "initialContext"

  protected static volatile javax.naming.Context initialContext;
    descriptor: Ljavax/naming/Context;
    flags: (0x004c) ACC_PROTECTED, ACC_STATIC, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 69
            aconst_null
            putstatic org.apache.naming.java.javaURLContextFactory.initialContext:Ljavax/naming/Context;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.naming.java.javaURLContextFactory this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.naming.java.javaURLContextFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/naming/java/javaURLContextFactory;

  public  getObjectInstance(, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>);
    descriptor: (Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.apache.naming.java.javaURLContextFactory this
        start local 1 // java.lang.Object obj
        start local 2 // javax.naming.Name name
        start local 3 // javax.naming.Context nameCtx
        start local 4 // java.util.Hashtable environment
         0: .line 86
            invokestatic org.apache.naming.ContextBindings.isThreadBound:()Z
            ifne 2
         1: .line 87
            invokestatic org.apache.naming.ContextBindings.isClassLoaderBound:()Z
            ifeq 3
         2: .line 88
      StackMap locals:
      StackMap stack:
            new org.apache.naming.SelectorContext
            dup
            aload 4 /* environment */
            invokespecial org.apache.naming.SelectorContext.<init>:(Ljava/util/Hashtable;)V
            areturn
         3: .line 90
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.util.Hashtable environment
        end local 3 // javax.naming.Context nameCtx
        end local 2 // javax.naming.Name name
        end local 1 // java.lang.Object obj
        end local 0 // org.apache.naming.java.javaURLContextFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/apache/naming/java/javaURLContextFactory;
            0    4     1          obj  Ljava/lang/Object;
            0    4     2         name  Ljavax/naming/Name;
            0    4     3      nameCtx  Ljavax/naming/Context;
            0    4     4  environment  Ljava/util/Hashtable<**>;
    Exceptions:
      throws javax.naming.NamingException
    Signature: (Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable<**>;)Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      obj          
      name         
      nameCtx      
      environment  

  public javax.naming.Context getInitialContext(java.util.Hashtable<?, ?>);
    descriptor: (Ljava/util/Hashtable;)Ljavax/naming/Context;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.naming.java.javaURLContextFactory this
        start local 1 // java.util.Hashtable environment
         0: .line 101
            invokestatic org.apache.naming.ContextBindings.isThreadBound:()Z
            ifne 2
         1: .line 102
            invokestatic org.apache.naming.ContextBindings.isClassLoaderBound:()Z
            ifeq 5
         2: .line 104
      StackMap locals:
      StackMap stack:
            new org.apache.naming.SelectorContext
            dup
         3: .line 105
            aload 1 /* environment */
            iconst_1
         4: .line 104
            invokespecial org.apache.naming.SelectorContext.<init>:(Ljava/util/Hashtable;Z)V
            areturn
         5: .line 109
      StackMap locals:
      StackMap stack:
            getstatic org.apache.naming.java.javaURLContextFactory.initialContext:Ljavax/naming/Context;
            ifnonnull 15
         6: .line 110
            ldc Lorg/apache/naming/java/javaURLContextFactory;
            dup
            astore 2
            monitorenter
         7: .line 111
            getstatic org.apache.naming.java.javaURLContextFactory.initialContext:Ljavax/naming/Context;
            ifnonnull 11
         8: .line 112
            new org.apache.naming.NamingContext
            dup
         9: .line 113
            aload 1 /* environment */
            ldc "initialContext"
        10: .line 112
            invokespecial org.apache.naming.NamingContext.<init>:(Ljava/util/Hashtable;Ljava/lang/String;)V
            putstatic org.apache.naming.java.javaURLContextFactory.initialContext:Ljavax/naming/Context;
        11: .line 110
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 2
            monitorexit
        14: athrow
        15: .line 117
      StackMap locals:
      StackMap stack:
            getstatic org.apache.naming.java.javaURLContextFactory.initialContext:Ljavax/naming/Context;
            areturn
        end local 1 // java.util.Hashtable environment
        end local 0 // org.apache.naming.java.javaURLContextFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lorg/apache/naming/java/javaURLContextFactory;
            0   16     1  environment  Ljava/util/Hashtable<**>;
      Exception table:
        from    to  target  type
           7    12      13  any
          13    14      13  any
    Exceptions:
      throws javax.naming.NamingException
    Signature: (Ljava/util/Hashtable<**>;)Ljavax/naming/Context;
    MethodParameters:
             Name  Flags
      environment  
}
SourceFile: "javaURLContextFactory.java"