public class com.sun.jndi.rmi.registry.RegistryContext implements javax.naming.Context, javax.naming.Referenceable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.jndi.rmi.registry.RegistryContext
  super_class: java.lang.Object
{
  private java.util.Hashtable environment;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE

  private java.rmi.registry.Registry registry;
    descriptor: Ljava/rmi/registry/Registry;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String host;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int port;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final javax.naming.NameParser nameParser;
    descriptor: Ljavax/naming/NameParser;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String SOCKET_FACTORY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.rmi.factory.socket"

  static final boolean trustURLCodebase;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  javax.naming.Reference reference;
    descriptor: Ljavax/naming/Reference;
    flags: (0x0000) 

  public static final java.lang.String SECURITY_MGR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.naming.rmi.security.manager"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 55
            new com.sun.jndi.rmi.registry.AtomicNameParser
            dup
            invokespecial com.sun.jndi.rmi.registry.AtomicNameParser.<init>:()V
            putstatic com.sun.jndi.rmi.registry.RegistryContext.nameParser:Ljavax/naming/NameParser;
         1: .line 64
            new com.sun.jndi.rmi.registry.RegistryContext$1
            dup
            invokespecial com.sun.jndi.rmi.registry.RegistryContext$1.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 0 /* trust */
        start local 0 // java.lang.String trust
         2: .line 69
            ldc "true"
            aload 0 /* trust */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            putstatic com.sun.jndi.rmi.registry.RegistryContext.trustURLCodebase:Z
        end local 0 // java.lang.String trust
         3: .line 77
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            2    3     0  trust  Ljava/lang/String;

  public void <init>(java.lang.String, int, java.util.Hashtable);
    descriptor: (Ljava/lang/String;ILjava/util/Hashtable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String host
        start local 2 // int port
        start local 3 // java.util.Hashtable env
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
         2: .line 89
            aload 0 /* this */
            aload 3 /* env */
            ifnonnull 3
            new java.util.Hashtable
            dup
            iconst_5
            invokespecial java.util.Hashtable.<init>:(I)V
            goto 4
      StackMap locals: com.sun.jndi.rmi.registry.RegistryContext java.lang.String int java.util.Hashtable
      StackMap stack: com.sun.jndi.rmi.registry.RegistryContext
         3: aload 3 /* env */
      StackMap locals: com.sun.jndi.rmi.registry.RegistryContext java.lang.String int java.util.Hashtable
      StackMap stack: com.sun.jndi.rmi.registry.RegistryContext java.util.Hashtable
         4: putfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
         5: .line 90
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
            ldc "java.naming.rmi.security.manager"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 7
         6: .line 91
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.installSecurityMgr:()V
         7: .line 95
      StackMap locals:
      StackMap stack:
            aload 1 /* host */
            ifnull 9
            aload 1 /* host */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpne 9
         8: .line 96
            aload 1 /* host */
            iconst_1
            aload 1 /* host */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* host */
         9: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
            ldc "com.sun.jndi.rmi.factory.socket"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.rmi.server.RMIClientSocketFactory
        10: .line 99
            astore 4 /* socketFactory */
        start local 4 // java.rmi.server.RMIClientSocketFactory socketFactory
        11: .line 101
            aload 0 /* this */
            aload 1 /* host */
            iload 2 /* port */
            aload 4 /* socketFactory */
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.getRegistry:(Ljava/lang/String;ILjava/rmi/server/RMIClientSocketFactory;)Ljava/rmi/registry/Registry;
            putfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
        12: .line 102
            aload 0 /* this */
            aload 1 /* host */
            putfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
        13: .line 103
            aload 0 /* this */
            iload 2 /* port */
            putfield com.sun.jndi.rmi.registry.RegistryContext.port:I
        14: .line 104
            return
        end local 4 // java.rmi.server.RMIClientSocketFactory socketFactory
        end local 3 // java.util.Hashtable env
        end local 2 // int port
        end local 1 // java.lang.String host
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0   15     1           host  Ljava/lang/String;
            0   15     2           port  I
            0   15     3            env  Ljava/util/Hashtable;
           11   15     4  socketFactory  Ljava/rmi/server/RMIClientSocketFactory;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      host  
      port  
      env   

  void <init>(com.sun.jndi.rmi.registry.RegistryContext);
    descriptor: (Lcom/sun/jndi/rmi/registry/RegistryContext;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // com.sun.jndi.rmi.registry.RegistryContext ctx
         0: .line 112
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
         2: .line 113
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
            checkcast java.util.Hashtable
            putfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
         3: .line 114
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
            putfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
         4: .line 115
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
            putfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
         5: .line 116
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.rmi.registry.RegistryContext.port:I
            putfield com.sun.jndi.rmi.registry.RegistryContext.port:I
         6: .line 117
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
            putfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
         7: .line 118
            return
        end local 1 // com.sun.jndi.rmi.registry.RegistryContext ctx
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    8     1   ctx  Lcom/sun/jndi/rmi/registry/RegistryContext;
    MethodParameters:
      Name  Flags
      ctx   

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
         0: .line 121
            aload 0 /* this */
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.close:()V
         1: .line 122
            return
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;

  public java.lang.Object lookup(javax.naming.Name);
    descriptor: (Ljavax/naming/Name;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name name
         0: .line 125
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 2
         1: .line 126
            new com.sun.jndi.rmi.registry.RegistryContext
            dup
            aload 0 /* this */
            invokespecial com.sun.jndi.rmi.registry.RegistryContext.<init>:(Lcom/sun/jndi/rmi/registry/RegistryContext;)V
            areturn
         2: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
            aload 1 /* name */
            iconst_0
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            invokeinterface java.rmi.registry.Registry.lookup:(Ljava/lang/String;)Ljava/rmi/Remote;
            astore 2 /* obj */
        start local 2 // java.rmi.Remote obj
         3: .line 131
            goto 8
        end local 2 // java.rmi.Remote obj
      StackMap locals:
      StackMap stack: java.rmi.NotBoundException
         4: pop
         5: .line 132
            new javax.naming.NameNotFoundException
            dup
            aload 1 /* name */
            iconst_0
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            invokespecial javax.naming.NameNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 133
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 3 /* e */
        start local 3 // java.rmi.RemoteException e
         7: .line 134
            aload 3 /* e */
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
            invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
            checkcast javax.naming.NamingException
            athrow
        end local 3 // java.rmi.RemoteException e
        start local 2 // java.rmi.Remote obj
         8: .line 136
      StackMap locals: java.rmi.Remote
      StackMap stack:
            aload 0 /* this */
            aload 2 /* obj */
            aload 1 /* name */
            iconst_1
            invokeinterface javax.naming.Name.getPrefix:(I)Ljavax/naming/Name;
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.decodeObject:(Ljava/rmi/Remote;Ljavax/naming/Name;)Ljava/lang/Object;
            areturn
        end local 2 // java.rmi.Remote obj
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    9     1  name  Ljavax/naming/Name;
            3    4     2   obj  Ljava/rmi/Remote;
            8    9     2   obj  Ljava/rmi/Remote;
            7    8     3     e  Ljava/rmi/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.rmi.NotBoundException
           2     3       6  Class java.rmi.RemoteException
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public java.lang.Object lookup(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
         0: .line 140
            aload 0 /* this */
            new javax.naming.CompositeName
            dup
            aload 1 /* name */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.lookup:(Ljavax/naming/Name;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public void bind(javax.naming.Name, java.lang.Object);
    descriptor: (Ljavax/naming/Name;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name name
        start local 2 // java.lang.Object obj
         0: .line 148
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 4
         1: .line 149
            new javax.naming.InvalidNameException
            dup
         2: .line 150
            ldc "RegistryContext: Cannot bind empty name"
         3: .line 149
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
            aload 1 /* name */
            iconst_0
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            aload 0 /* this */
            aload 2 /* obj */
            aload 1 /* name */
            iconst_1
            invokeinterface javax.naming.Name.getPrefix:(I)Ljavax/naming/Name;
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.encodeObject:(Ljava/lang/Object;Ljavax/naming/Name;)Ljava/rmi/Remote;
            invokeinterface java.rmi.registry.Registry.bind:(Ljava/lang/String;Ljava/rmi/Remote;)V
         5: .line 154
            goto 12
      StackMap locals:
      StackMap stack: java.rmi.AlreadyBoundException
         6: astore 3 /* e */
        start local 3 // java.rmi.AlreadyBoundException e
         7: .line 155
            new javax.naming.NameAlreadyBoundException
            dup
            aload 1 /* name */
            iconst_0
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            invokespecial javax.naming.NameAlreadyBoundException.<init>:(Ljava/lang/String;)V
            astore 4 /* ne */
        start local 4 // javax.naming.NamingException ne
         8: .line 156
            aload 4 /* ne */
            aload 3 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
         9: .line 157
            aload 4 /* ne */
            athrow
        end local 4 // javax.naming.NamingException ne
        end local 3 // java.rmi.AlreadyBoundException e
        10: .line 158
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 3 /* e */
        start local 3 // java.rmi.RemoteException e
        11: .line 159
            aload 3 /* e */
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
            invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
            checkcast javax.naming.NamingException
            athrow
        end local 3 // java.rmi.RemoteException e
        12: .line 161
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object obj
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0   13     1  name  Ljavax/naming/Name;
            0   13     2   obj  Ljava/lang/Object;
            7   10     3     e  Ljava/rmi/AlreadyBoundException;
            8   10     4    ne  Ljavax/naming/NamingException;
           11   12     3     e  Ljava/rmi/RemoteException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.rmi.AlreadyBoundException
           4     5      10  Class java.rmi.RemoteException
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      obj   

  public void bind(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object obj
         0: .line 164
            aload 0 /* this */
            new javax.naming.CompositeName
            dup
            aload 1 /* name */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
            aload 2 /* obj */
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.bind:(Ljavax/naming/Name;Ljava/lang/Object;)V
         1: .line 165
            return
        end local 2 // java.lang.Object obj
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    2     1  name  Ljava/lang/String;
            0    2     2   obj  Ljava/lang/Object;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      obj   

  public void rebind(javax.naming.Name, java.lang.Object);
    descriptor: (Ljavax/naming/Name;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name name
        start local 2 // java.lang.Object obj
         0: .line 168
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 4
         1: .line 169
            new javax.naming.InvalidNameException
            dup
         2: .line 170
            ldc "RegistryContext: Cannot rebind empty name"
         3: .line 169
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
            aload 1 /* name */
            iconst_0
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            aload 0 /* this */
            aload 2 /* obj */
            aload 1 /* name */
            iconst_1
            invokeinterface javax.naming.Name.getPrefix:(I)Ljavax/naming/Name;
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.encodeObject:(Ljava/lang/Object;Ljavax/naming/Name;)Ljava/rmi/Remote;
            invokeinterface java.rmi.registry.Registry.rebind:(Ljava/lang/String;Ljava/rmi/Remote;)V
         5: .line 174
            goto 8
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
         6: astore 3 /* e */
        start local 3 // java.rmi.RemoteException e
         7: .line 175
            aload 3 /* e */
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
            invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
            checkcast javax.naming.NamingException
            athrow
        end local 3 // java.rmi.RemoteException e
         8: .line 177
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object obj
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    9     1  name  Ljavax/naming/Name;
            0    9     2   obj  Ljava/lang/Object;
            7    8     3     e  Ljava/rmi/RemoteException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.rmi.RemoteException
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      obj   

  public void rebind(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object obj
         0: .line 180
            aload 0 /* this */
            new javax.naming.CompositeName
            dup
            aload 1 /* name */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
            aload 2 /* obj */
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.rebind:(Ljavax/naming/Name;Ljava/lang/Object;)V
         1: .line 181
            return
        end local 2 // java.lang.Object obj
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    2     1  name  Ljava/lang/String;
            0    2     2   obj  Ljava/lang/Object;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      obj   

  public void unbind(javax.naming.Name);
    descriptor: (Ljavax/naming/Name;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name name
         0: .line 184
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 4
         1: .line 185
            new javax.naming.InvalidNameException
            dup
         2: .line 186
            ldc "RegistryContext: Cannot unbind empty name"
         3: .line 185
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
            aload 1 /* name */
            iconst_0
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            invokeinterface java.rmi.registry.Registry.unbind:(Ljava/lang/String;)V
         5: .line 190
            goto 9
      StackMap locals:
      StackMap stack: java.rmi.NotBoundException
         6: pop
            goto 9
         7: .line 192
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 2 /* e */
        start local 2 // java.rmi.RemoteException e
         8: .line 193
            aload 2 /* e */
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
            invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
            checkcast javax.naming.NamingException
            athrow
        end local 2 // java.rmi.RemoteException e
         9: .line 195
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0   10     1  name  Ljavax/naming/Name;
            8    9     2     e  Ljava/rmi/RemoteException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.rmi.NotBoundException
           4     5       7  Class java.rmi.RemoteException
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public void unbind(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
         0: .line 198
            aload 0 /* this */
            new javax.naming.CompositeName
            dup
            aload 1 /* name */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.unbind:(Ljavax/naming/Name;)V
         1: .line 199
            return
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    2     1  name  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public void rename(javax.naming.Name, javax.naming.Name);
    descriptor: (Ljavax/naming/Name;Ljavax/naming/Name;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name oldName
        start local 2 // javax.naming.Name newName
         0: .line 206
            aload 0 /* this */
            aload 2 /* newName */
            aload 0 /* this */
            aload 1 /* oldName */
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.lookup:(Ljavax/naming/Name;)Ljava/lang/Object;
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.bind:(Ljavax/naming/Name;Ljava/lang/Object;)V
         1: .line 207
            aload 0 /* this */
            aload 1 /* oldName */
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.unbind:(Ljavax/naming/Name;)V
         2: .line 208
            return
        end local 2 // javax.naming.Name newName
        end local 1 // javax.naming.Name oldName
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    3     1  oldName  Ljavax/naming/Name;
            0    3     2  newName  Ljavax/naming/Name;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
         Name  Flags
      oldName  
      newName  

  public void rename(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String newName
         0: .line 211
            aload 0 /* this */
            new javax.naming.CompositeName
            dup
            aload 1 /* name */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
            new javax.naming.CompositeName
            dup
            aload 2 /* newName */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.rename:(Ljavax/naming/Name;Ljavax/naming/Name;)V
         1: .line 212
            return
        end local 2 // java.lang.String newName
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    2     1     name  Ljava/lang/String;
            0    2     2  newName  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
         Name  Flags
      name     
      newName  

  public javax.naming.NamingEnumeration list(javax.naming.Name);
    descriptor: (Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name name
         0: .line 215
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifne 4
         1: .line 216
            new javax.naming.InvalidNameException
            dup
         2: .line 217
            ldc "RegistryContext: can only list \"\""
         3: .line 216
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
            invokeinterface java.rmi.registry.Registry.list:()[Ljava/lang/String;
            astore 2 /* names */
        start local 2 // java.lang.String[] names
         5: .line 221
            new com.sun.jndi.rmi.registry.NameClassPairEnumeration
            dup
            aload 2 /* names */
            invokespecial com.sun.jndi.rmi.registry.NameClassPairEnumeration.<init>:([Ljava/lang/String;)V
         6: areturn
        end local 2 // java.lang.String[] names
         7: .line 222
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 2 /* e */
        start local 2 // java.rmi.RemoteException e
         8: .line 223
            aload 2 /* e */
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
            invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
            checkcast javax.naming.NamingException
            athrow
        end local 2 // java.rmi.RemoteException e
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    9     1   name  Ljavax/naming/Name;
            5    7     2  names  [Ljava/lang/String;
            8    9     2      e  Ljava/rmi/RemoteException;
      Exception table:
        from    to  target  type
           4     6       7  Class java.rmi.RemoteException
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public javax.naming.NamingEnumeration list(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/naming/NamingEnumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
         0: .line 228
            aload 0 /* this */
            new javax.naming.CompositeName
            dup
            aload 1 /* name */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.list:(Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public javax.naming.NamingEnumeration listBindings(javax.naming.Name);
    descriptor: (Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name name
         0: .line 234
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifne 4
         1: .line 235
            new javax.naming.InvalidNameException
            dup
         2: .line 236
            ldc "RegistryContext: can only list \"\""
         3: .line 235
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
            invokeinterface java.rmi.registry.Registry.list:()[Ljava/lang/String;
            astore 2 /* names */
        start local 2 // java.lang.String[] names
         5: .line 240
            new com.sun.jndi.rmi.registry.BindingEnumeration
            dup
            aload 0 /* this */
            aload 2 /* names */
            invokespecial com.sun.jndi.rmi.registry.BindingEnumeration.<init>:(Lcom/sun/jndi/rmi/registry/RegistryContext;[Ljava/lang/String;)V
         6: areturn
        end local 2 // java.lang.String[] names
         7: .line 241
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 2 /* e */
        start local 2 // java.rmi.RemoteException e
         8: .line 242
            aload 2 /* e */
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
            invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
            checkcast javax.naming.NamingException
            athrow
        end local 2 // java.rmi.RemoteException e
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    9     1   name  Ljavax/naming/Name;
            5    7     2  names  [Ljava/lang/String;
            8    9     2      e  Ljava/rmi/RemoteException;
      Exception table:
        from    to  target  type
           4     6       7  Class java.rmi.RemoteException
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public javax.naming.NamingEnumeration listBindings(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/naming/NamingEnumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
         0: .line 247
            aload 0 /* this */
            new javax.naming.CompositeName
            dup
            aload 1 /* name */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.listBindings:(Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public void destroySubcontext(javax.naming.Name);
    descriptor: (Ljavax/naming/Name;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name name
         0: .line 251
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
            athrow
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  name  Ljavax/naming/Name;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public void destroySubcontext(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
         0: .line 255
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
            athrow
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public javax.naming.Context createSubcontext(javax.naming.Name);
    descriptor: (Ljavax/naming/Name;)Ljavax/naming/Context;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name name
         0: .line 259
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
            athrow
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  name  Ljavax/naming/Name;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public javax.naming.Context createSubcontext(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/naming/Context;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
         0: .line 263
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
            athrow
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public java.lang.Object lookupLink(javax.naming.Name);
    descriptor: (Ljavax/naming/Name;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name name
         0: .line 267
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.lookup:(Ljavax/naming/Name;)Ljava/lang/Object;
            areturn
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  name  Ljavax/naming/Name;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public java.lang.Object lookupLink(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
         0: .line 271
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.lookup:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public javax.naming.NameParser getNameParser(javax.naming.Name);
    descriptor: (Ljavax/naming/Name;)Ljavax/naming/NameParser;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name name
         0: .line 275
            getstatic com.sun.jndi.rmi.registry.RegistryContext.nameParser:Ljavax/naming/NameParser;
            areturn
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  name  Ljavax/naming/Name;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public javax.naming.NameParser getNameParser(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/naming/NameParser;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
         0: .line 279
            getstatic com.sun.jndi.rmi.registry.RegistryContext.nameParser:Ljavax/naming/NameParser;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  public javax.naming.Name composeName(javax.naming.Name, javax.naming.Name);
    descriptor: (Ljavax/naming/Name;Ljavax/naming/Name;)Ljavax/naming/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // javax.naming.Name name
        start local 2 // javax.naming.Name prefix
         0: .line 283
            aload 2 /* prefix */
            invokeinterface javax.naming.Name.clone:()Ljava/lang/Object;
            checkcast javax.naming.Name
            astore 3 /* result */
        start local 3 // javax.naming.Name result
         1: .line 284
            aload 3 /* result */
            aload 1 /* name */
            invokeinterface javax.naming.Name.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
            areturn
        end local 3 // javax.naming.Name result
        end local 2 // javax.naming.Name prefix
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    2     1    name  Ljavax/naming/Name;
            0    2     2  prefix  Ljavax/naming/Name;
            1    2     3  result  Ljavax/naming/Name;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
        Name  Flags
      name    
      prefix  

  public java.lang.String composeName(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String prefix
         0: .line 290
            aload 0 /* this */
            new javax.naming.CompositeName
            dup
            aload 1 /* name */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
         1: .line 291
            new javax.naming.CompositeName
            dup
            aload 2 /* prefix */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
         2: .line 290
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.composeName:(Ljavax/naming/Name;Ljavax/naming/Name;)Ljavax/naming/Name;
         3: .line 291
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
         4: .line 290
            areturn
        end local 2 // java.lang.String prefix
        end local 1 // java.lang.String name
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    5     1    name  Ljava/lang/String;
            0    5     2  prefix  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
        Name  Flags
      name    
      prefix  

  public java.lang.Object removeFromEnvironment(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String propName
         0: .line 297
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
            aload 1 /* propName */
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String propName
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    1     1  propName  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
          Name  Flags
      propName  

  public java.lang.Object addToEnvironment(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.String propName
        start local 2 // java.lang.Object propVal
         0: .line 303
            aload 1 /* propName */
            ldc "java.naming.rmi.security.manager"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 304
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.installSecurityMgr:()V
         2: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
            aload 1 /* propName */
            aload 2 /* propVal */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object propVal
        end local 1 // java.lang.String propName
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0    3     1  propName  Ljava/lang/String;
            0    3     2   propVal  Ljava/lang/Object;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
          Name  Flags
      propName  
      propVal   

  public java.util.Hashtable getEnvironment();
    descriptor: ()Ljava/util/Hashtable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
         0: .line 310
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
            checkcast java.util.Hashtable
            areturn
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
    Exceptions:
      throws javax.naming.NamingException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
         0: .line 314
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
         1: .line 315
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
         2: .line 318
            return
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;

  public java.lang.String getNameInNamespace();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
         0: .line 321
            ldc ""
            areturn
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;

  public javax.naming.Reference getReference();
    descriptor: ()Ljavax/naming/Reference;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
         0: .line 336
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
            ifnull 2
         1: .line 337
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
            invokevirtual javax.naming.Reference.clone:()Ljava/lang/Object;
            checkcast javax.naming.Reference
            areturn
         2: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
            ifnull 3
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
            ldc "localhost"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 340
      StackMap locals:
      StackMap stack:
            new javax.naming.ConfigurationException
            dup
         4: .line 341
            ldc "Cannot create a reference for an RMI registry whose host was unspecified or specified as \"localhost\""
         5: .line 340
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 344
      StackMap locals:
      StackMap stack:
            ldc "rmi://"
            astore 1 /* url */
        start local 1 // java.lang.String url
         7: .line 347
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
            ldc ":"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmple 8
            new java.lang.StringBuilder
            dup
            aload 1 /* url */
            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 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 9
         8: .line 348
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* url */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 347
      StackMap locals:
      StackMap stack: java.lang.String
            astore 1 /* url */
        10: .line 349
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.port:I
            ifle 12
        11: .line 350
            new java.lang.StringBuilder
            dup
            aload 1 /* url */
            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 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.port:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* url */
        12: .line 352
      StackMap locals:
      StackMap stack:
            new javax.naming.StringRefAddr
            dup
            ldc "URL"
        13: .line 353
            aload 1 /* url */
        14: .line 352
            invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* addr */
        start local 2 // javax.naming.RefAddr addr
        15: .line 354
            new javax.naming.Reference
            dup
            ldc Lcom/sun/jndi/rmi/registry/RegistryContext;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        16: .line 355
            aload 2 /* addr */
        17: .line 356
            ldc Lcom/sun/jndi/rmi/registry/RegistryContextFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        18: .line 357
            aconst_null
        19: .line 354
            invokespecial javax.naming.Reference.<init>:(Ljava/lang/String;Ljavax/naming/RefAddr;Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 2 // javax.naming.RefAddr addr
        end local 1 // java.lang.String url
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            7   20     1   url  Ljava/lang/String;
           15   20     2  addr  Ljavax/naming/RefAddr;
    Exceptions:
      throws javax.naming.NamingException

  public static javax.naming.NamingException wrapRemoteException(java.rmi.RemoteException);
    descriptor: (Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.rmi.RemoteException re
         0: .line 368
            aload 0 /* re */
            instanceof java.rmi.ConnectException
            ifeq 3
         1: .line 369
            new javax.naming.ServiceUnavailableException
            dup
            invokespecial javax.naming.ServiceUnavailableException.<init>:()V
            astore 1 /* ne */
        start local 1 // javax.naming.NamingException ne
         2: .line 371
            goto 23
        end local 1 // javax.naming.NamingException ne
      StackMap locals:
      StackMap stack:
         3: aload 0 /* re */
            instanceof java.rmi.AccessException
            ifeq 6
         4: .line 372
            new javax.naming.NoPermissionException
            dup
            invokespecial javax.naming.NoPermissionException.<init>:()V
            astore 1 /* ne */
        start local 1 // javax.naming.NamingException ne
         5: .line 374
            goto 23
        end local 1 // javax.naming.NamingException ne
      StackMap locals:
      StackMap stack:
         6: aload 0 /* re */
            instanceof java.rmi.StubNotFoundException
            ifne 9
         7: .line 375
            aload 0 /* re */
            instanceof java.rmi.UnknownHostException
            ifne 9
         8: .line 376
            aload 0 /* re */
            instanceof java.rmi.server.SocketSecurityException
            ifeq 11
         9: .line 377
      StackMap locals:
      StackMap stack:
            new javax.naming.ConfigurationException
            dup
            invokespecial javax.naming.ConfigurationException.<init>:()V
            astore 1 /* ne */
        start local 1 // javax.naming.NamingException ne
        10: .line 379
            goto 23
        end local 1 // javax.naming.NamingException ne
      StackMap locals:
      StackMap stack:
        11: aload 0 /* re */
            instanceof java.rmi.server.ExportException
            ifne 16
        12: .line 380
            aload 0 /* re */
            instanceof java.rmi.ConnectIOException
            ifne 16
        13: .line 381
            aload 0 /* re */
            instanceof java.rmi.MarshalException
            ifne 16
        14: .line 382
            aload 0 /* re */
            instanceof java.rmi.UnmarshalException
            ifne 16
        15: .line 383
            aload 0 /* re */
            instanceof java.rmi.NoSuchObjectException
            ifeq 18
        16: .line 384
      StackMap locals:
      StackMap stack:
            new javax.naming.CommunicationException
            dup
            invokespecial javax.naming.CommunicationException.<init>:()V
            astore 1 /* ne */
        start local 1 // javax.naming.NamingException ne
        17: .line 386
            goto 23
        end local 1 // javax.naming.NamingException ne
      StackMap locals:
      StackMap stack:
        18: aload 0 /* re */
            instanceof java.rmi.ServerException
            ifeq 22
        19: .line 387
            aload 0 /* re */
            getfield java.rmi.RemoteException.detail:Ljava/lang/Throwable;
            instanceof java.rmi.RemoteException
            ifeq 22
        20: .line 388
            aload 0 /* re */
            getfield java.rmi.RemoteException.detail:Ljava/lang/Throwable;
            checkcast java.rmi.RemoteException
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
            astore 1 /* ne */
        start local 1 // javax.naming.NamingException ne
        21: .line 390
            goto 23
        end local 1 // javax.naming.NamingException ne
        22: .line 391
      StackMap locals:
      StackMap stack:
            new javax.naming.NamingException
            dup
            invokespecial javax.naming.NamingException.<init>:()V
            astore 1 /* ne */
        start local 1 // javax.naming.NamingException ne
        23: .line 393
      StackMap locals: javax.naming.NamingException
      StackMap stack:
            aload 1 /* ne */
            aload 0 /* re */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        24: .line 394
            aload 1 /* ne */
            areturn
        end local 1 // javax.naming.NamingException ne
        end local 0 // java.rmi.RemoteException re
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   25     0    re  Ljava/rmi/RemoteException;
            2    3     1    ne  Ljavax/naming/NamingException;
            5    6     1    ne  Ljavax/naming/NamingException;
           10   11     1    ne  Ljavax/naming/NamingException;
           17   18     1    ne  Ljavax/naming/NamingException;
           21   22     1    ne  Ljavax/naming/NamingException;
           23   25     1    ne  Ljavax/naming/NamingException;
    MethodParameters:
      Name  Flags
      re    

  private static java.rmi.registry.Registry getRegistry(java.lang.String, int, java.rmi.server.RMIClientSocketFactory);
    descriptor: (Ljava/lang/String;ILjava/rmi/server/RMIClientSocketFactory;)Ljava/rmi/registry/Registry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String host
        start local 1 // int port
        start local 2 // java.rmi.server.RMIClientSocketFactory socketFactory
         0: .line 410
            aload 2 /* socketFactory */
            ifnonnull 3
         1: .line 411
            aload 0 /* host */
            iload 1 /* port */
            invokestatic java.rmi.registry.LocateRegistry.getRegistry:(Ljava/lang/String;I)Ljava/rmi/registry/Registry;
         2: areturn
         3: .line 413
      StackMap locals:
      StackMap stack:
            aload 0 /* host */
            iload 1 /* port */
            aload 2 /* socketFactory */
            invokestatic java.rmi.registry.LocateRegistry.getRegistry:(Ljava/lang/String;ILjava/rmi/server/RMIClientSocketFactory;)Ljava/rmi/registry/Registry;
         4: areturn
         5: .line 415
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 3 /* e */
        start local 3 // java.rmi.RemoteException e
         6: .line 416
            aload 3 /* e */
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
            invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
            checkcast javax.naming.NamingException
            athrow
        end local 3 // java.rmi.RemoteException e
        end local 2 // java.rmi.server.RMIClientSocketFactory socketFactory
        end local 1 // int port
        end local 0 // java.lang.String host
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           host  Ljava/lang/String;
            0    7     1           port  I
            0    7     2  socketFactory  Ljava/rmi/server/RMIClientSocketFactory;
            6    7     3              e  Ljava/rmi/RemoteException;
      Exception table:
        from    to  target  type
           0     2       5  Class java.rmi.RemoteException
           3     4       5  Class java.rmi.RemoteException
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
               Name  Flags
      host           
      port           
      socketFactory  

  private static void installSecurityMgr();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 427
            new java.rmi.RMISecurityManager
            dup
            invokespecial java.rmi.RMISecurityManager.<init>:()V
            invokestatic java.lang.System.setSecurityManager:(Ljava/lang/SecurityManager;)V
         1: .line 428
            goto 3
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: pop
         3: .line 430
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception

  private java.rmi.Remote encodeObject(java.lang.Object, javax.naming.Name);
    descriptor: (Ljava/lang/Object;Ljavax/naming/Name;)Ljava/rmi/Remote;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.lang.Object obj
        start local 2 // javax.naming.Name name
         0: .line 444
            aload 1 /* obj */
            aload 2 /* name */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
            invokestatic javax.naming.spi.NamingManager.getStateToBind:(Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;)Ljava/lang/Object;
            astore 1 /* obj */
         1: .line 446
            aload 1 /* obj */
            instanceof java.rmi.Remote
            ifeq 3
         2: .line 447
            aload 1 /* obj */
            checkcast java.rmi.Remote
            areturn
         3: .line 449
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof javax.naming.Reference
            ifeq 5
         4: .line 450
            new com.sun.jndi.rmi.registry.ReferenceWrapper
            dup
            aload 1 /* obj */
            checkcast javax.naming.Reference
            invokespecial com.sun.jndi.rmi.registry.ReferenceWrapper.<init>:(Ljavax/naming/Reference;)V
            areturn
         5: .line 452
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof javax.naming.Referenceable
            ifeq 7
         6: .line 453
            new com.sun.jndi.rmi.registry.ReferenceWrapper
            dup
            aload 1 /* obj */
            checkcast javax.naming.Referenceable
            invokeinterface javax.naming.Referenceable.getReference:()Ljavax/naming/Reference;
            invokespecial com.sun.jndi.rmi.registry.ReferenceWrapper.<init>:(Ljavax/naming/Reference;)V
            areturn
         7: .line 455
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         8: .line 456
            ldc "RegistryContext: object to bind must be Remote, Reference, or Referenceable"
         9: .line 455
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // javax.naming.Name name
        end local 1 // java.lang.Object obj
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0   10     1   obj  Ljava/lang/Object;
            0   10     2  name  Ljavax/naming/Name;
    Exceptions:
      throws javax.naming.NamingException, java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      obj   
      name  

  private java.lang.Object decodeObject(java.rmi.Remote, javax.naming.Name);
    descriptor: (Ljava/rmi/Remote;Ljavax/naming/Name;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.sun.jndi.rmi.registry.RegistryContext this
        start local 1 // java.rmi.Remote r
        start local 2 // javax.naming.Name name
         0: .line 469
            aload 1 /* r */
            instanceof com.sun.jndi.rmi.registry.RemoteReference
            ifeq 2
         1: .line 470
            aload 1 /* r */
            checkcast com.sun.jndi.rmi.registry.RemoteReference
            invokeinterface com.sun.jndi.rmi.registry.RemoteReference.getReference:()Ljavax/naming/Reference;
            goto 3
         2: .line 471
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
         3: .line 469
      StackMap locals:
      StackMap stack: java.lang.Object
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         4: .line 480
            aconst_null
            astore 4 /* ref */
        start local 4 // javax.naming.Reference ref
         5: .line 481
            aload 3 /* obj */
            instanceof javax.naming.Reference
            ifeq 8
         6: .line 482
            aload 3 /* obj */
            checkcast javax.naming.Reference
            astore 4 /* ref */
         7: .line 483
            goto 10
      StackMap locals: java.lang.Object javax.naming.Reference
      StackMap stack:
         8: aload 3 /* obj */
            instanceof javax.naming.Referenceable
            ifeq 10
         9: .line 484
            aload 3 /* obj */
            checkcast javax.naming.Referenceable
            invokeinterface javax.naming.Referenceable.getReference:()Ljavax/naming/Reference;
            astore 4 /* ref */
        10: .line 487
      StackMap locals:
      StackMap stack:
            aload 4 /* ref */
            ifnull 15
            aload 4 /* ref */
            invokevirtual javax.naming.Reference.getFactoryClassLocation:()Ljava/lang/String;
            ifnull 15
        11: .line 488
            getstatic com.sun.jndi.rmi.registry.RegistryContext.trustURLCodebase:Z
            ifne 15
        12: .line 489
            new javax.naming.ConfigurationException
            dup
        13: .line 490
            ldc "The object factory is untrusted. Set the system property 'com.sun.jndi.rmi.object.trustURLCodebase' to 'true'."
        14: .line 489
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 493
      StackMap locals:
      StackMap stack:
            aload 3 /* obj */
            aload 2 /* name */
            aload 0 /* this */
        16: .line 494
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
        17: .line 493
            invokestatic javax.naming.spi.NamingManager.getObjectInstance:(Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;)Ljava/lang/Object;
        18: areturn
        end local 4 // javax.naming.Reference ref
        end local 3 // java.lang.Object obj
        19: .line 495
      StackMap locals: com.sun.jndi.rmi.registry.RegistryContext java.rmi.Remote javax.naming.Name
      StackMap stack: javax.naming.NamingException
            astore 3 /* e */
        start local 3 // javax.naming.NamingException e
        20: .line 496
            aload 3 /* e */
            athrow
        end local 3 // javax.naming.NamingException e
        21: .line 497
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 3 /* e */
        start local 3 // java.rmi.RemoteException e
        22: .line 499
            aload 3 /* e */
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.wrapRemoteException:(Ljava/rmi/RemoteException;)Ljavax/naming/NamingException;
            invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
        23: .line 498
            checkcast javax.naming.NamingException
            athrow
        end local 3 // java.rmi.RemoteException e
        24: .line 500
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        25: .line 501
            new javax.naming.NamingException
            dup
            invokespecial javax.naming.NamingException.<init>:()V
            astore 4 /* ne */
        start local 4 // javax.naming.NamingException ne
        26: .line 502
            aload 4 /* ne */
            aload 3 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        27: .line 503
            aload 4 /* ne */
            athrow
        end local 4 // javax.naming.NamingException ne
        end local 3 // java.lang.Exception e
        end local 2 // javax.naming.Name name
        end local 1 // java.rmi.Remote r
        end local 0 // com.sun.jndi.rmi.registry.RegistryContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0  this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0   28     1     r  Ljava/rmi/Remote;
            0   28     2  name  Ljavax/naming/Name;
            4   19     3   obj  Ljava/lang/Object;
            5   19     4   ref  Ljavax/naming/Reference;
           20   21     3     e  Ljavax/naming/NamingException;
           22   24     3     e  Ljava/rmi/RemoteException;
           25   28     3     e  Ljava/lang/Exception;
           26   28     4    ne  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
           0    18      19  Class javax.naming.NamingException
           0    18      21  Class java.rmi.RemoteException
           0    18      24  Class java.lang.Exception
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      r     
      name  
}
SourceFile: "RegistryContext.java"
NestMembers:
  com.sun.jndi.rmi.registry.RegistryContext$1
InnerClasses:
  com.sun.jndi.rmi.registry.RegistryContext$1