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<java.lang.String, java.lang.Object> environment;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;

  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=2, 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
            invokedynamic run()Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/sun/jndi/rmi/registry/RegistryContext.lambda$0()Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            astore 0 /* act */
        start local 0 // java.security.PrivilegedAction act
         2: .line 66
            aload 0 /* act */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* trust */
        start local 1 // java.lang.String trust
         3: .line 67
            ldc "true"
            aload 1 /* trust */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            putstatic com.sun.jndi.rmi.registry.RegistryContext.trustURLCodebase:Z
        end local 1 // java.lang.String trust
        end local 0 // java.security.PrivilegedAction act
         4: .line 75
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            2    4     0    act  Ljava/security/PrivilegedAction<Ljava/lang/String;>;
            3    4     1  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 85
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
         2: .line 88
            aload 0 /* this */
            aload 3 /* env */
            ifnonnull 4
         3: .line 89
            new java.util.Hashtable
            dup
            iconst_5
            invokespecial java.util.Hashtable.<init>:(I)V
            goto 5
         4: .line 90
      StackMap locals: com.sun.jndi.rmi.registry.RegistryContext java.lang.String int java.util.Hashtable
      StackMap stack: com.sun.jndi.rmi.registry.RegistryContext
            aload 3 /* env */
         5: .line 88
      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
            putfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
         6: .line 91
            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 8
         7: .line 92
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.installSecurityMgr:()V
         8: .line 96
      StackMap locals:
      StackMap stack:
            aload 1 /* host */
            ifnull 10
            aload 1 /* host */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpne 10
         9: .line 97
            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 */
        10: .line 101
      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
        11: .line 100
            astore 4 /* socketFactory */
        start local 4 // java.rmi.server.RMIClientSocketFactory socketFactory
        12: .line 102
            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;
        13: .line 103
            aload 0 /* this */
            aload 1 /* host */
            putfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
        14: .line 104
            aload 0 /* this */
            iload 2 /* port */
            putfield com.sun.jndi.rmi.registry.RegistryContext.port:I
        15: .line 105
            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   16     0           this  Lcom/sun/jndi/rmi/registry/RegistryContext;
            0   16     1           host  Ljava/lang/String;
            0   16     2           port  I
            0   16     3            env  Ljava/util/Hashtable<**>;
           12   16     4  socketFactory  Ljava/rmi/server/RMIClientSocketFactory;
    Exceptions:
      throws javax.naming.NamingException
    Signature: (Ljava/lang/String;ILjava/util/Hashtable<**>;)V
    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 114
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
         2: .line 115
            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 116
            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 117
            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 118
            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 119
            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 120
            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 124
            aload 0 /* this */
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.close:()V
         1: .line 125
            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 128
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 2
         1: .line 129
            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 133
      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 134
            goto 8
        end local 2 // java.rmi.Remote obj
      StackMap locals:
      StackMap stack: java.rmi.NotBoundException
         4: pop
         5: .line 135
            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 136
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 3 /* e */
        start local 3 // java.rmi.RemoteException e
         7: .line 137
            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 139
      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 143
            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 151
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 4
         1: .line 152
            new javax.naming.InvalidNameException
            dup
         2: .line 153
            ldc "RegistryContext: Cannot bind empty name"
         3: .line 152
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 156
      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 157
            goto 12
      StackMap locals:
      StackMap stack: java.rmi.AlreadyBoundException
         6: astore 3 /* e */
        start local 3 // java.rmi.AlreadyBoundException e
         7: .line 158
            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 159
            aload 4 /* ne */
            aload 3 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
         9: .line 160
            aload 4 /* ne */
            athrow
        end local 4 // javax.naming.NamingException ne
        end local 3 // java.rmi.AlreadyBoundException e
        10: .line 161
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 3 /* e */
        start local 3 // java.rmi.RemoteException e
        11: .line 162
            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 164
      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 167
            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 168
            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 171
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 4
         1: .line 172
            new javax.naming.InvalidNameException
            dup
         2: .line 173
            ldc "RegistryContext: Cannot rebind empty name"
         3: .line 172
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 176
      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 177
            goto 8
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
         6: astore 3 /* e */
        start local 3 // java.rmi.RemoteException e
         7: .line 178
            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 180
      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 183
            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 184
            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 187
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 4
         1: .line 188
            new javax.naming.InvalidNameException
            dup
         2: .line 189
            ldc "RegistryContext: Cannot unbind empty name"
         3: .line 188
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 192
      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 193
            goto 9
      StackMap locals:
      StackMap stack: java.rmi.NotBoundException
         6: pop
            goto 9
         7: .line 195
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 2 /* e */
        start local 2 // java.rmi.RemoteException e
         8: .line 196
            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 198
      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 201
            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 202
            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 209
            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 210
            aload 0 /* this */
            aload 1 /* oldName */
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.unbind:(Ljavax/naming/Name;)V
         2: .line 211
            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 214
            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 215
            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<javax.naming.NameClassPair> 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 219
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifne 4
         1: .line 220
            new javax.naming.InvalidNameException
            dup
         2: .line 221
            ldc "RegistryContext: can only list \"\""
         3: .line 220
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 224
      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 225
            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 226
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 2 /* e */
        start local 2 // java.rmi.RemoteException e
         8: .line 227
            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
    Signature: (Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration<Ljavax/naming/NameClassPair;>;
    MethodParameters:
      Name  Flags
      name  

  public javax.naming.NamingEnumeration<javax.naming.NameClassPair> 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 233
            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
    Signature: (Ljava/lang/String;)Ljavax/naming/NamingEnumeration<Ljavax/naming/NameClassPair;>;
    MethodParameters:
      Name  Flags
      name  

  public javax.naming.NamingEnumeration<javax.naming.Binding> 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 239
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifne 4
         1: .line 240
            new javax.naming.InvalidNameException
            dup
         2: .line 241
            ldc "RegistryContext: can only list \"\""
         3: .line 240
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 244
      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 245
            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 246
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 2 /* e */
        start local 2 // java.rmi.RemoteException e
         8: .line 247
            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
    Signature: (Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration<Ljavax/naming/Binding;>;
    MethodParameters:
      Name  Flags
      name  

  public javax.naming.NamingEnumeration<javax.naming.Binding> 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 253
            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
    Signature: (Ljava/lang/String;)Ljavax/naming/NamingEnumeration<Ljavax/naming/Binding;>;
    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 257
            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 261
            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 265
            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 269
            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 273
            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 277
            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 281
            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 285
            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 289
            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 290
            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 296
            aload 0 /* this */
            new javax.naming.CompositeName
            dup
            aload 1 /* name */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
         1: .line 297
            new javax.naming.CompositeName
            dup
            aload 2 /* prefix */
            invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
         2: .line 296
            invokevirtual com.sun.jndi.rmi.registry.RegistryContext.composeName:(Ljavax/naming/Name;Ljavax/naming/Name;)Ljavax/naming/Name;
         3: .line 297
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
         4: .line 296
            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 303
            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 309
            aload 1 /* propName */
            ldc "java.naming.rmi.security.manager"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 310
            invokestatic com.sun.jndi.rmi.registry.RegistryContext.installSecurityMgr:()V
         2: .line 312
      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<java.lang.String, java.lang.Object> 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 317
            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
    Signature: ()Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;

  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 321
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
         1: .line 322
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.rmi.registry.RegistryContext.registry:Ljava/rmi/registry/Registry;
         2: .line 325
            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 328
            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 343
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.reference:Ljavax/naming/Reference;
            ifnull 2
         1: .line 344
            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 346
      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 347
      StackMap locals:
      StackMap stack:
            new javax.naming.ConfigurationException
            dup
         4: .line 348
            ldc "Cannot create a reference for an RMI registry whose host was unspecified or specified as \"localhost\""
         5: .line 347
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 351
      StackMap locals:
      StackMap stack:
            ldc "rmi://"
            astore 1 /* url */
        start local 1 // java.lang.String url
         7: .line 354
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.host:Ljava/lang/String;
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)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 355
      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 354
      StackMap locals:
      StackMap stack: java.lang.String
            astore 1 /* url */
        10: .line 356
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.port:I
            ifle 12
        11: .line 357
            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 359
      StackMap locals:
      StackMap stack:
            new javax.naming.StringRefAddr
            dup
            ldc "URL"
        13: .line 360
            aload 1 /* url */
        14: .line 359
            invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* addr */
        start local 2 // javax.naming.RefAddr addr
        15: .line 361
            new javax.naming.Reference
            dup
            ldc Lcom/sun/jndi/rmi/registry/RegistryContext;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        16: .line 362
            aload 2 /* addr */
        17: .line 363
            ldc Lcom/sun/jndi/rmi/registry/RegistryContextFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        18: .line 364
            aconst_null
        19: .line 361
            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 375
            aload 0 /* re */
            instanceof java.rmi.ConnectException
            ifeq 3
         1: .line 376
            new javax.naming.ServiceUnavailableException
            dup
            invokespecial javax.naming.ServiceUnavailableException.<init>:()V
            astore 1 /* ne */
        start local 1 // javax.naming.NamingException ne
         2: .line 378
            goto 22
        end local 1 // javax.naming.NamingException ne
      StackMap locals:
      StackMap stack:
         3: aload 0 /* re */
            instanceof java.rmi.AccessException
            ifeq 6
         4: .line 379
            new javax.naming.NoPermissionException
            dup
            invokespecial javax.naming.NoPermissionException.<init>:()V
            astore 1 /* ne */
        start local 1 // javax.naming.NamingException ne
         5: .line 381
            goto 22
        end local 1 // javax.naming.NamingException ne
      StackMap locals:
      StackMap stack:
         6: aload 0 /* re */
            instanceof java.rmi.StubNotFoundException
            ifne 8
         7: .line 382
            aload 0 /* re */
            instanceof java.rmi.UnknownHostException
            ifeq 10
         8: .line 383
      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
         9: .line 385
            goto 22
        end local 1 // javax.naming.NamingException ne
      StackMap locals:
      StackMap stack:
        10: aload 0 /* re */
            instanceof java.rmi.server.ExportException
            ifne 15
        11: .line 386
            aload 0 /* re */
            instanceof java.rmi.ConnectIOException
            ifne 15
        12: .line 387
            aload 0 /* re */
            instanceof java.rmi.MarshalException
            ifne 15
        13: .line 388
            aload 0 /* re */
            instanceof java.rmi.UnmarshalException
            ifne 15
        14: .line 389
            aload 0 /* re */
            instanceof java.rmi.NoSuchObjectException
            ifeq 17
        15: .line 390
      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
        16: .line 392
            goto 22
        end local 1 // javax.naming.NamingException ne
      StackMap locals:
      StackMap stack:
        17: aload 0 /* re */
            instanceof java.rmi.ServerException
            ifeq 21
        18: .line 393
            aload 0 /* re */
            getfield java.rmi.RemoteException.detail:Ljava/lang/Throwable;
            instanceof java.rmi.RemoteException
            ifeq 21
        19: .line 394
            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
        20: .line 396
            goto 22
        end local 1 // javax.naming.NamingException ne
        21: .line 397
      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
        22: .line 399
      StackMap locals: javax.naming.NamingException
      StackMap stack:
            aload 1 /* ne */
            aload 0 /* re */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        23: .line 400
            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   24     0    re  Ljava/rmi/RemoteException;
            2    3     1    ne  Ljavax/naming/NamingException;
            5    6     1    ne  Ljavax/naming/NamingException;
            9   10     1    ne  Ljavax/naming/NamingException;
           16   17     1    ne  Ljavax/naming/NamingException;
           20   21     1    ne  Ljavax/naming/NamingException;
           22   24     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 416
            aload 2 /* socketFactory */
            ifnonnull 3
         1: .line 417
            aload 0 /* host */
            iload 1 /* port */
            invokestatic java.rmi.registry.LocateRegistry.getRegistry:(Ljava/lang/String;I)Ljava/rmi/registry/Registry;
         2: areturn
         3: .line 419
      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 421
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 3 /* e */
        start local 3 // java.rmi.RemoteException e
         6: .line 422
            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 433
            new java.lang.SecurityManager
            dup
            invokespecial java.lang.SecurityManager.<init>:()V
            invokestatic java.lang.System.setSecurityManager:(Ljava/lang/SecurityManager;)V
         1: .line 434
            goto 3
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: pop
         3: .line 436
      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 450
            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 452
            aload 1 /* obj */
            instanceof java.rmi.Remote
            ifeq 3
         2: .line 453
            aload 1 /* obj */
            checkcast java.rmi.Remote
            areturn
         3: .line 455
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof javax.naming.Reference
            ifeq 5
         4: .line 456
            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 458
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof javax.naming.Referenceable
            ifeq 7
         6: .line 459
            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 461
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         8: .line 462
            ldc "RegistryContext: object to bind must be Remote, Reference, or Referenceable"
         9: .line 461
            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 475
            aload 1 /* r */
            instanceof com.sun.jndi.rmi.registry.RemoteReference
            ifeq 2
         1: .line 476
            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 477
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
         3: .line 475
      StackMap locals:
      StackMap stack: java.lang.Object
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         4: .line 486
            aconst_null
            astore 4 /* ref */
        start local 4 // javax.naming.Reference ref
         5: .line 487
            aload 3 /* obj */
            instanceof javax.naming.Reference
            ifeq 8
         6: .line 488
            aload 3 /* obj */
            checkcast javax.naming.Reference
            astore 4 /* ref */
         7: .line 489
            goto 10
      StackMap locals: java.lang.Object javax.naming.Reference
      StackMap stack:
         8: aload 3 /* obj */
            instanceof javax.naming.Referenceable
            ifeq 10
         9: .line 490
            aload 3 /* obj */
            checkcast javax.naming.Referenceable
            invokeinterface javax.naming.Referenceable.getReference:()Ljavax/naming/Reference;
            astore 4 /* ref */
        10: .line 493
      StackMap locals:
      StackMap stack:
            aload 4 /* ref */
            ifnull 15
            aload 4 /* ref */
            invokevirtual javax.naming.Reference.getFactoryClassLocation:()Ljava/lang/String;
            ifnull 15
        11: .line 494
            getstatic com.sun.jndi.rmi.registry.RegistryContext.trustURLCodebase:Z
            ifne 15
        12: .line 495
            new javax.naming.ConfigurationException
            dup
        13: .line 496
            ldc "The object factory is untrusted. Set the system property 'com.sun.jndi.rmi.object.trustURLCodebase' to 'true'."
        14: .line 495
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* obj */
            aload 2 /* name */
            aload 0 /* this */
        16: .line 500
            aload 0 /* this */
            getfield com.sun.jndi.rmi.registry.RegistryContext.environment:Ljava/util/Hashtable;
        17: .line 499
            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 501
      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 502
            aload 3 /* e */
            athrow
        end local 3 // javax.naming.NamingException e
        21: .line 503
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 3 /* e */
        start local 3 // java.rmi.RemoteException e
        22: .line 505
            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 504
            checkcast javax.naming.NamingException
            athrow
        end local 3 // java.rmi.RemoteException e
        24: .line 506
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        25: .line 507
            new javax.naming.NamingException
            dup
            invokespecial javax.naming.NamingException.<init>:()V
            astore 4 /* ne */
        start local 4 // javax.naming.NamingException ne
        26: .line 508
            aload 4 /* ne */
            aload 3 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        27: .line 509
            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  

  private static java.lang.String lambda$0();
    descriptor: ()Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 65
            ldc "com.sun.jndi.rmi.object.trustURLCodebase"
            ldc "false"
         1: .line 64
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
         2: .line 65
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "RegistryContext.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles