public final class org.hibernate.internal.util.jndi.JndiHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.hibernate.internal.util.jndi.JndiHelper
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.util.jndi.JndiHelper this
         0: .line 27
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 28
            return
        end local 0 // org.hibernate.internal.util.jndi.JndiHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/util/jndi/JndiHelper;

  public static java.util.Properties extractJndiProperties(java.util.Map);
    descriptor: (Ljava/util/Map;)Ljava/util/Properties;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Map configurationValues
         0: .line 39
            aload 0 /* configurationValues */
            invokestatic org.hibernate.engine.jndi.internal.JndiServiceImpl.extractJndiProperties:(Ljava/util/Map;)Ljava/util/Properties;
            areturn
        end local 0 // java.util.Map configurationValues
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0  configurationValues  Ljava/util/Map;
    MethodParameters:
                     Name  Flags
      configurationValues  

  public static javax.naming.InitialContext getInitialContext(java.util.Properties);
    descriptor: (Ljava/util/Properties;)Ljavax/naming/InitialContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.Properties props
         0: .line 43
            aload 0 /* props */
            invokestatic org.hibernate.internal.util.jndi.JndiHelper.extractJndiProperties:(Ljava/util/Map;)Ljava/util/Properties;
            astore 1 /* hash */
        start local 1 // java.util.Hashtable hash
         1: .line 44
            aload 1 /* hash */
            invokevirtual java.util.Hashtable.size:()I
            ifne 2
            new javax.naming.InitialContext
            dup
            invokespecial javax.naming.InitialContext.<init>:()V
            goto 3
      StackMap locals: java.util.Hashtable
      StackMap stack:
         2: new javax.naming.InitialContext
            dup
            aload 1 /* hash */
            invokespecial javax.naming.InitialContext.<init>:(Ljava/util/Hashtable;)V
      StackMap locals:
      StackMap stack: javax.naming.InitialContext
         3: areturn
        end local 1 // java.util.Hashtable hash
        end local 0 // java.util.Properties props
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  props  Ljava/util/Properties;
            1    4     1   hash  Ljava/util/Hashtable;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
       Name  Flags
      props  

  public static void bind(javax.naming.Context, java.lang.String, java.lang.Object);
    descriptor: (Ljavax/naming/Context;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // javax.naming.Context ctx
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object val
         0: .line 58
            aload 0 /* ctx */
            aload 1 /* name */
            aload 2 /* val */
            invokeinterface javax.naming.Context.rebind:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 59
            goto 17
         2: .line 60
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         3: .line 61
            aload 0 /* ctx */
            ldc ""
            invokeinterface javax.naming.Context.getNameParser:(Ljava/lang/String;)Ljavax/naming/NameParser;
            aload 1 /* name */
            invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
            astore 3 /* n */
        start local 3 // javax.naming.Name n
         4: .line 62
            goto 15
         5: .line 63
      StackMap locals: javax.naming.Name
      StackMap stack:
            aload 3 /* n */
            iconst_0
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            astore 4 /* ctxName */
        start local 4 // java.lang.String ctxName
         6: .line 65
            aconst_null
            astore 5 /* subctx */
        start local 5 // javax.naming.Context subctx
         7: .line 67
            aload 0 /* ctx */
            aload 4 /* ctxName */
            invokeinterface javax.naming.Context.lookup:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast javax.naming.Context
            astore 5 /* subctx */
         8: .line 68
            goto 10
         9: .line 69
      StackMap locals: javax.naming.Context java.lang.String java.lang.Object javax.naming.Name java.lang.String javax.naming.Context
      StackMap stack: javax.naming.NameNotFoundException
            pop
        10: .line 72
      StackMap locals:
      StackMap stack:
            aload 5 /* subctx */
            ifnull 13
        11: .line 73
            aload 5 /* subctx */
            astore 0 /* ctx */
        12: .line 74
            goto 14
        13: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* ctx */
            aload 4 /* ctxName */
            invokeinterface javax.naming.Context.createSubcontext:(Ljava/lang/String;)Ljavax/naming/Context;
            astore 0 /* ctx */
        14: .line 78
      StackMap locals:
      StackMap stack:
            aload 3 /* n */
            iconst_1
            invokeinterface javax.naming.Name.getSuffix:(I)Ljavax/naming/Name;
            astore 3 /* n */
        end local 5 // javax.naming.Context subctx
        end local 4 // java.lang.String ctxName
        15: .line 62
      StackMap locals:
      StackMap stack:
            aload 3 /* n */
            invokeinterface javax.naming.Name.size:()I
            iconst_1
            if_icmpgt 5
        16: .line 80
            aload 0 /* ctx */
            aload 3 /* n */
            aload 2 /* val */
            invokeinterface javax.naming.Context.rebind:(Ljavax/naming/Name;Ljava/lang/Object;)V
        end local 3 // javax.naming.Name n
        17: .line 82
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object val
        end local 1 // java.lang.String name
        end local 0 // javax.naming.Context ctx
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0      ctx  Ljavax/naming/Context;
            0   18     1     name  Ljava/lang/String;
            0   18     2      val  Ljava/lang/Object;
            4   17     3        n  Ljavax/naming/Name;
            6   15     4  ctxName  Ljava/lang/String;
            7   15     5   subctx  Ljavax/naming/Context;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
           7     8       9  Class javax.naming.NameNotFoundException
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      ctx   
      name  
      val   
}
SourceFile: "JndiHelper.java"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()