public class sun.rmi.server.ActivatableRef implements java.rmi.server.RemoteRef
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.rmi.server.ActivatableRef
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 7579060052569229166

  protected java.rmi.activation.ActivationID id;
    descriptor: Ljava/rmi/activation/ActivationID;
    flags: (0x0004) ACC_PROTECTED

  protected java.rmi.server.RemoteRef ref;
    descriptor: Ljava/rmi/server/RemoteRef;
    flags: (0x0004) ACC_PROTECTED

  transient boolean force;
    descriptor: Z
    flags: (0x0080) ACC_TRANSIENT

  private static final int MAX_RETRIES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final java.lang.String versionComplaint;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "activation requires 1.2 stubs"

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 45
            ldc Lsun/rmi/server/ActivatableRef;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.rmi.server.ActivatableRef.$assertionsDisabled:Z
         3: .line 55
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.rmi.server.ActivatableRef this
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            iconst_0
            putfield sun.rmi.server.ActivatableRef.force:Z
         2: .line 61
            return
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/rmi/server/ActivatableRef;

  public void <init>(java.rmi.activation.ActivationID, java.rmi.server.RemoteRef);
    descriptor: (Ljava/rmi/activation/ActivationID;Ljava/rmi/server/RemoteRef;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.rmi.server.ActivatableRef this
        start local 1 // java.rmi.activation.ActivationID id
        start local 2 // java.rmi.server.RemoteRef ref
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            iconst_0
            putfield sun.rmi.server.ActivatableRef.force:Z
         2: .line 68
            aload 0 /* this */
            aload 1 /* id */
            putfield sun.rmi.server.ActivatableRef.id:Ljava/rmi/activation/ActivationID;
         3: .line 69
            aload 0 /* this */
            aload 2 /* ref */
            putfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
         4: .line 70
            return
        end local 2 // java.rmi.server.RemoteRef ref
        end local 1 // java.rmi.activation.ActivationID id
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/rmi/server/ActivatableRef;
            0    5     1    id  Ljava/rmi/activation/ActivationID;
            0    5     2   ref  Ljava/rmi/server/RemoteRef;
    MethodParameters:
      Name  Flags
      id    
      ref   

  public static java.rmi.Remote getStub(java.rmi.activation.ActivationDesc, java.rmi.activation.ActivationID);
    descriptor: (Ljava/rmi/activation/ActivationDesc;Ljava/rmi/activation/ActivationID;)Ljava/rmi/Remote;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.rmi.activation.ActivationDesc desc
        start local 1 // java.rmi.activation.ActivationID id
         0: .line 81
            aload 0 /* desc */
            invokevirtual java.rmi.activation.ActivationDesc.getClassName:()Ljava/lang/String;
            astore 2 /* className */
        start local 2 // java.lang.String className
         1: .line 85
            aload 0 /* desc */
            invokevirtual java.rmi.activation.ActivationDesc.getLocation:()Ljava/lang/String;
            aload 2 /* className */
            invokestatic java.rmi.server.RMIClassLoader.loadClass:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;
         2: .line 84
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         3: .line 86
            new sun.rmi.server.ActivatableRef
            dup
            aload 1 /* id */
            aconst_null
            invokespecial sun.rmi.server.ActivatableRef.<init>:(Ljava/rmi/activation/ActivationID;Ljava/rmi/server/RemoteRef;)V
            astore 4 /* clientRef */
        start local 4 // java.rmi.server.RemoteRef clientRef
         4: .line 87
            aload 3 /* cl */
            aload 4 /* clientRef */
            iconst_0
            invokestatic sun.rmi.server.Util.createProxy:(Ljava/lang/Class;Ljava/rmi/server/RemoteRef;Z)Ljava/rmi/Remote;
         5: areturn
        end local 4 // java.rmi.server.RemoteRef clientRef
        end local 3 // java.lang.Class cl
         6: .line 89
      StackMap locals: java.rmi.activation.ActivationDesc java.rmi.activation.ActivationID java.lang.String
      StackMap stack: java.lang.IllegalArgumentException
            astore 3 /* e */
        start local 3 // java.lang.IllegalArgumentException e
         7: .line 90
            new java.rmi.StubNotFoundException
            dup
         8: .line 91
            ldc "class implements an illegal remote interface"
            aload 3 /* e */
         9: .line 90
            invokespecial java.rmi.StubNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // java.lang.IllegalArgumentException e
        10: .line 93
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* e */
        start local 3 // java.lang.ClassNotFoundException e
        11: .line 94
            new java.rmi.StubNotFoundException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unable to load class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 95
            aload 2 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
        13: .line 94
            invokespecial java.rmi.StubNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // java.lang.ClassNotFoundException e
        14: .line 96
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            astore 3 /* e */
        start local 3 // java.net.MalformedURLException e
        15: .line 97
            new java.rmi.StubNotFoundException
            dup
            ldc "malformed URL"
            aload 3 /* e */
            invokespecial java.rmi.StubNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // java.net.MalformedURLException e
        end local 2 // java.lang.String className
        end local 1 // java.rmi.activation.ActivationID id
        end local 0 // java.rmi.activation.ActivationDesc desc
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       desc  Ljava/rmi/activation/ActivationDesc;
            0   16     1         id  Ljava/rmi/activation/ActivationID;
            1   16     2  className  Ljava/lang/String;
            3    6     3         cl  Ljava/lang/Class<*>;
            4    6     4  clientRef  Ljava/rmi/server/RemoteRef;
            7   10     3          e  Ljava/lang/IllegalArgumentException;
           11   14     3          e  Ljava/lang/ClassNotFoundException;
           15   16     3          e  Ljava/net/MalformedURLException;
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.IllegalArgumentException
           1     5      10  Class java.lang.ClassNotFoundException
           1     5      14  Class java.net.MalformedURLException
    Exceptions:
      throws java.rmi.StubNotFoundException
    MethodParameters:
      Name  Flags
      desc  
      id    

  public java.lang.Object invoke(java.rmi.Remote, java.lang.reflect.Method, java.lang.Object[], long);
    descriptor: (Ljava/rmi/Remote;Ljava/lang/reflect/Method;[Ljava/lang/Object;J)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=5
        start local 0 // sun.rmi.server.ActivatableRef this
        start local 1 // java.rmi.Remote obj
        start local 2 // java.lang.reflect.Method method
        start local 3 // java.lang.Object[] params
        start local 4 // long opnum
         0: .line 123
            iconst_0
            istore 6 /* force */
        start local 6 // boolean force
         1: .line 125
            aconst_null
            astore 8 /* exception */
        start local 8 // java.lang.Exception exception
         2: .line 131
            aload 0 /* this */
            dup
            astore 9
            monitorenter
         3: .line 132
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            ifnonnull 7
         4: .line 133
            aload 0 /* this */
            iload 6 /* force */
            invokevirtual sun.rmi.server.ActivatableRef.activate:(Z)Ljava/rmi/server/RemoteRef;
            astore 7 /* localRef */
        start local 7 // java.rmi.server.RemoteRef localRef
         5: .line 134
            iconst_1
            istore 6 /* force */
         6: .line 135
            goto 8
        end local 7 // java.rmi.server.RemoteRef localRef
         7: .line 136
      StackMap locals: sun.rmi.server.ActivatableRef java.rmi.Remote java.lang.reflect.Method java.lang.Object[] long int top java.lang.Exception sun.rmi.server.ActivatableRef
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            astore 7 /* localRef */
        start local 7 // java.rmi.server.RemoteRef localRef
         8: .line 131
      StackMap locals: sun.rmi.server.ActivatableRef java.rmi.Remote java.lang.reflect.Method java.lang.Object[] long int java.rmi.server.RemoteRef java.lang.Exception sun.rmi.server.ActivatableRef
      StackMap stack:
            aload 9
            monitorexit
         9: goto 12
        end local 7 // java.rmi.server.RemoteRef localRef
      StackMap locals: sun.rmi.server.ActivatableRef java.rmi.Remote java.lang.reflect.Method java.lang.Object[] long int top java.lang.Exception sun.rmi.server.ActivatableRef
      StackMap stack: java.lang.Throwable
        10: aload 9
            monitorexit
        11: athrow
        start local 7 // java.rmi.server.RemoteRef localRef
        12: .line 140
      StackMap locals: sun.rmi.server.ActivatableRef java.rmi.Remote java.lang.reflect.Method java.lang.Object[] long int java.rmi.server.RemoteRef java.lang.Exception
      StackMap stack:
            iconst_3
            istore 9 /* retries */
        start local 9 // int retries
        13: goto 61
        14: .line 143
      StackMap locals: int
      StackMap stack:
            aload 7 /* localRef */
            aload 1 /* obj */
            aload 2 /* method */
            aload 3 /* params */
            lload 4 /* opnum */
            invokeinterface java.rmi.server.RemoteRef.invoke:(Ljava/rmi/Remote;Ljava/lang/reflect/Method;[Ljava/lang/Object;J)Ljava/lang/Object;
        15: areturn
        16: .line 144
      StackMap locals:
      StackMap stack: java.rmi.NoSuchObjectException
            astore 10 /* e */
        start local 10 // java.rmi.NoSuchObjectException e
        17: .line 148
            aload 10 /* e */
            astore 8 /* exception */
        end local 10 // java.rmi.NoSuchObjectException e
        18: goto 43
        19: .line 149
      StackMap locals:
      StackMap stack: java.rmi.ConnectException
            astore 10 /* e */
        start local 10 // java.rmi.ConnectException e
        20: .line 153
            aload 10 /* e */
            astore 8 /* exception */
        end local 10 // java.rmi.ConnectException e
        21: goto 43
        22: .line 154
      StackMap locals:
      StackMap stack: java.rmi.UnknownHostException
            astore 10 /* e */
        start local 10 // java.rmi.UnknownHostException e
        23: .line 158
            aload 10 /* e */
            astore 8 /* exception */
        end local 10 // java.rmi.UnknownHostException e
        24: goto 43
        25: .line 159
      StackMap locals:
      StackMap stack: java.rmi.ConnectIOException
            astore 10 /* e */
        start local 10 // java.rmi.ConnectIOException e
        26: .line 164
            aload 10 /* e */
            astore 8 /* exception */
        end local 10 // java.rmi.ConnectIOException e
        27: goto 43
        28: .line 165
      StackMap locals:
      StackMap stack: java.rmi.MarshalException
            astore 10 /* e */
        start local 10 // java.rmi.MarshalException e
        29: .line 170
            aload 10 /* e */
            athrow
        end local 10 // java.rmi.MarshalException e
        30: .line 171
      StackMap locals:
      StackMap stack: java.rmi.ServerError
            astore 10 /* e */
        start local 10 // java.rmi.ServerError e
        31: .line 175
            aload 10 /* e */
            athrow
        end local 10 // java.rmi.ServerError e
        32: .line 176
      StackMap locals:
      StackMap stack: java.rmi.ServerException
            astore 10 /* e */
        start local 10 // java.rmi.ServerException e
        33: .line 180
            aload 10 /* e */
            athrow
        end local 10 // java.rmi.ServerException e
        34: .line 181
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 10 /* e */
        start local 10 // java.rmi.RemoteException e
        35: .line 195
            aload 0 /* this */
            dup
            astore 11
            monitorenter
        36: .line 196
            aload 7 /* localRef */
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            if_acmpne 38
        37: .line 197
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
        38: .line 195
      StackMap locals: java.rmi.RemoteException sun.rmi.server.ActivatableRef
      StackMap stack:
            aload 11
            monitorexit
        39: goto 42
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: aload 11
            monitorexit
        41: athrow
        42: .line 201
      StackMap locals:
      StackMap stack:
            aload 10 /* e */
            athrow
        end local 10 // java.rmi.RemoteException e
        43: .line 204
      StackMap locals:
      StackMap stack:
            iload 9 /* retries */
            iconst_1
            if_icmple 60
        44: .line 208
            aload 0 /* this */
            dup
            astore 10
            monitorenter
        45: .line 209
            aload 7 /* localRef */
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            invokeinterface java.rmi.server.RemoteRef.remoteEquals:(Ljava/rmi/server/RemoteRef;)Z
            ifne 46
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            ifnonnull 54
        46: .line 210
      StackMap locals: sun.rmi.server.ActivatableRef
      StackMap stack:
            aload 0 /* this */
            iload 6 /* force */
            invokevirtual sun.rmi.server.ActivatableRef.activate:(Z)Ljava/rmi/server/RemoteRef;
            astore 11 /* newRef */
        start local 11 // java.rmi.server.RemoteRef newRef
        47: .line 212
            aload 11 /* newRef */
            aload 7 /* localRef */
            invokeinterface java.rmi.server.RemoteRef.remoteEquals:(Ljava/rmi/server/RemoteRef;)Z
            ifeq 51
        48: .line 213
            aload 8 /* exception */
            instanceof java.rmi.NoSuchObjectException
            ifeq 51
        49: .line 214
            iload 6 /* force */
            ifne 51
        50: .line 220
            aload 0 /* this */
            iconst_1
            invokevirtual sun.rmi.server.ActivatableRef.activate:(Z)Ljava/rmi/server/RemoteRef;
            astore 11 /* newRef */
        51: .line 223
      StackMap locals: java.rmi.server.RemoteRef
      StackMap stack:
            aload 11 /* newRef */
            astore 7 /* localRef */
        52: .line 224
            iconst_1
            istore 6 /* force */
        end local 11 // java.rmi.server.RemoteRef newRef
        53: .line 225
            goto 56
        54: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            astore 7 /* localRef */
        55: .line 227
            iconst_0
            istore 6 /* force */
        56: .line 208
      StackMap locals:
      StackMap stack:
            aload 10
            monitorexit
        57: goto 60
      StackMap locals:
      StackMap stack: java.lang.Throwable
        58: aload 10
            monitorexit
        59: athrow
        60: .line 140
      StackMap locals:
      StackMap stack:
            iinc 9 /* retries */ -1
      StackMap locals:
      StackMap stack:
        61: iload 9 /* retries */
            ifgt 14
        end local 9 // int retries
        62: .line 236
            aload 8 /* exception */
            athrow
        end local 8 // java.lang.Exception exception
        end local 7 // java.rmi.server.RemoteRef localRef
        end local 6 // boolean force
        end local 4 // long opnum
        end local 3 // java.lang.Object[] params
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.rmi.Remote obj
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   63     0       this  Lsun/rmi/server/ActivatableRef;
            0   63     1        obj  Ljava/rmi/Remote;
            0   63     2     method  Ljava/lang/reflect/Method;
            0   63     3     params  [Ljava/lang/Object;
            0   63     4      opnum  J
            1   63     6      force  Z
            5    7     7   localRef  Ljava/rmi/server/RemoteRef;
            8   10     7   localRef  Ljava/rmi/server/RemoteRef;
           12   63     7   localRef  Ljava/rmi/server/RemoteRef;
            2   63     8  exception  Ljava/lang/Exception;
           13   62     9    retries  I
           17   18    10          e  Ljava/rmi/NoSuchObjectException;
           20   21    10          e  Ljava/rmi/ConnectException;
           23   24    10          e  Ljava/rmi/UnknownHostException;
           26   27    10          e  Ljava/rmi/ConnectIOException;
           29   30    10          e  Ljava/rmi/MarshalException;
           31   32    10          e  Ljava/rmi/ServerError;
           33   34    10          e  Ljava/rmi/ServerException;
           35   43    10          e  Ljava/rmi/RemoteException;
           47   53    11     newRef  Ljava/rmi/server/RemoteRef;
      Exception table:
        from    to  target  type
           3     9      10  any
          10    11      10  any
          14    15      16  Class java.rmi.NoSuchObjectException
          14    15      19  Class java.rmi.ConnectException
          14    15      22  Class java.rmi.UnknownHostException
          14    15      25  Class java.rmi.ConnectIOException
          14    15      28  Class java.rmi.MarshalException
          14    15      30  Class java.rmi.ServerError
          14    15      32  Class java.rmi.ServerException
          14    15      34  Class java.rmi.RemoteException
          36    39      40  any
          40    41      40  any
          45    57      58  any
          58    59      58  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      obj     
      method  
      params  
      opnum   

  private synchronized java.rmi.server.RemoteRef getRef();
    descriptor: ()Ljava/rmi/server/RemoteRef;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.rmi.server.ActivatableRef this
         0: .line 245
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            ifnonnull 2
         1: .line 246
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            invokevirtual sun.rmi.server.ActivatableRef.activate:(Z)Ljava/rmi/server/RemoteRef;
            putfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
         2: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            areturn
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/rmi/server/ActivatableRef;
    Exceptions:
      throws java.rmi.RemoteException

  private java.rmi.server.RemoteRef activate(boolean);
    descriptor: (Z)Ljava/rmi/server/RemoteRef;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.rmi.server.ActivatableRef this
        start local 1 // boolean force
         0: .line 261
            getstatic sun.rmi.server.ActivatableRef.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
         2: .line 277
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.id:Ljava/rmi/activation/ActivationID;
            iload 1 /* force */
            invokevirtual java.rmi.activation.ActivationID.activate:(Z)Ljava/rmi/Remote;
            astore 2 /* proxy */
        start local 2 // java.rmi.Remote proxy
         3: .line 278
            aconst_null
            astore 3 /* newRef */
        start local 3 // sun.rmi.server.ActivatableRef newRef
         4: .line 280
            aload 2 /* proxy */
            instanceof java.rmi.server.RemoteStub
            ifeq 7
         5: .line 281
            aload 2 /* proxy */
            checkcast java.rmi.server.RemoteStub
            invokevirtual java.rmi.server.RemoteStub.getRef:()Ljava/rmi/server/RemoteRef;
            checkcast sun.rmi.server.ActivatableRef
            astore 3 /* newRef */
         6: .line 282
            goto 11
         7: .line 291
      StackMap locals: java.rmi.Remote sun.rmi.server.ActivatableRef
      StackMap stack:
            aload 2 /* proxy */
            invokestatic java.lang.reflect.Proxy.getInvocationHandler:(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
         8: .line 290
            checkcast java.rmi.server.RemoteObjectInvocationHandler
         9: .line 289
            astore 4 /* handler */
        start local 4 // java.rmi.server.RemoteObjectInvocationHandler handler
        10: .line 292
            aload 4 /* handler */
            invokevirtual java.rmi.server.RemoteObjectInvocationHandler.getRef:()Ljava/rmi/server/RemoteRef;
            checkcast sun.rmi.server.ActivatableRef
            astore 3 /* newRef */
        end local 4 // java.rmi.server.RemoteObjectInvocationHandler handler
        11: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newRef */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            putfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
        12: .line 295
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
        13: areturn
        end local 3 // sun.rmi.server.ActivatableRef newRef
        end local 2 // java.rmi.Remote proxy
        14: .line 297
      StackMap locals: sun.rmi.server.ActivatableRef int
      StackMap stack: java.rmi.ConnectException
            astore 2 /* e */
        start local 2 // java.rmi.ConnectException e
        15: .line 298
            new java.rmi.ConnectException
            dup
            ldc "activation failed"
            aload 2 /* e */
            invokespecial java.rmi.ConnectException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 2 // java.rmi.ConnectException e
        16: .line 299
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 2 /* e */
        start local 2 // java.rmi.RemoteException e
        17: .line 300
            new java.rmi.ConnectIOException
            dup
            ldc "activation failed"
            aload 2 /* e */
            invokespecial java.rmi.ConnectIOException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 2 // java.rmi.RemoteException e
        18: .line 301
      StackMap locals:
      StackMap stack: java.rmi.activation.UnknownObjectException
            pop
        19: .line 302
            new java.rmi.NoSuchObjectException
            dup
            ldc "object not registered"
            invokespecial java.rmi.NoSuchObjectException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 303
      StackMap locals:
      StackMap stack: java.rmi.activation.ActivationException
            astore 2 /* e */
        start local 2 // java.rmi.activation.ActivationException e
        21: .line 304
            new java.rmi.activation.ActivateFailedException
            dup
            ldc "activation failed"
            aload 2 /* e */
            invokespecial java.rmi.activation.ActivateFailedException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 2 // java.rmi.activation.ActivationException e
        end local 1 // boolean force
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lsun/rmi/server/ActivatableRef;
            0   22     1    force  Z
            3   14     2    proxy  Ljava/rmi/Remote;
            4   14     3   newRef  Lsun/rmi/server/ActivatableRef;
           10   11     4  handler  Ljava/rmi/server/RemoteObjectInvocationHandler;
           15   16     2        e  Ljava/rmi/ConnectException;
           17   18     2        e  Ljava/rmi/RemoteException;
           21   22     2        e  Ljava/rmi/activation/ActivationException;
      Exception table:
        from    to  target  type
           2    13      14  Class java.rmi.ConnectException
           2    13      16  Class java.rmi.RemoteException
           2    13      18  Class java.rmi.activation.UnknownObjectException
           2    13      20  Class java.rmi.activation.ActivationException
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
       Name  Flags
      force  

  public synchronized java.rmi.server.RemoteCall newCall(java.rmi.server.RemoteObject, java.rmi.server.Operation[], int, long);
    descriptor: (Ljava/rmi/server/RemoteObject;[Ljava/rmi/server/Operation;IJ)Ljava/rmi/server/RemoteCall;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // sun.rmi.server.ActivatableRef this
        start local 1 // java.rmi.server.RemoteObject obj
        start local 2 // java.rmi.server.Operation[] ops
        start local 3 // int opnum
        start local 4 // long hash
         0: .line 318
            new java.lang.UnsupportedOperationException
            dup
            ldc "activation requires 1.2 stubs"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // long hash
        end local 3 // int opnum
        end local 2 // java.rmi.server.Operation[] ops
        end local 1 // java.rmi.server.RemoteObject obj
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/rmi/server/ActivatableRef;
            0    1     1    obj  Ljava/rmi/server/RemoteObject;
            0    1     2    ops  [Ljava/rmi/server/Operation;
            0    1     3  opnum  I
            0    1     4   hash  J
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
       Name  Flags
      obj    
      ops    
      opnum  
      hash   

  public void invoke(java.rmi.server.RemoteCall);
    descriptor: (Ljava/rmi/server/RemoteCall;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.rmi.server.ActivatableRef this
        start local 1 // java.rmi.server.RemoteCall call
         0: .line 327
            new java.lang.UnsupportedOperationException
            dup
            ldc "activation requires 1.2 stubs"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.rmi.server.RemoteCall call
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/rmi/server/ActivatableRef;
            0    1     1  call  Ljava/rmi/server/RemoteCall;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      call  

  public void done(java.rmi.server.RemoteCall);
    descriptor: (Ljava/rmi/server/RemoteCall;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.rmi.server.ActivatableRef this
        start local 1 // java.rmi.server.RemoteCall call
         0: .line 335
            new java.lang.UnsupportedOperationException
            dup
            ldc "activation requires 1.2 stubs"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.rmi.server.RemoteCall call
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/rmi/server/ActivatableRef;
            0    1     1  call  Ljava/rmi/server/RemoteCall;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      call  

  public java.lang.String getRefClass(java.io.ObjectOutput);
    descriptor: (Ljava/io/ObjectOutput;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.rmi.server.ActivatableRef this
        start local 1 // java.io.ObjectOutput out
         0: .line 343
            ldc "ActivatableRef"
            areturn
        end local 1 // java.io.ObjectOutput out
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/rmi/server/ActivatableRef;
            0    1     1   out  Ljava/io/ObjectOutput;
    MethodParameters:
      Name  Flags
      out   

  public void writeExternal(java.io.ObjectOutput);
    descriptor: (Ljava/io/ObjectOutput;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.rmi.server.ActivatableRef this
        start local 1 // java.io.ObjectOutput out
         0: .line 351
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            astore 2 /* localRef */
        start local 2 // java.rmi.server.RemoteRef localRef
         1: .line 353
            aload 1 /* out */
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.id:Ljava/rmi/activation/ActivationID;
            invokeinterface java.io.ObjectOutput.writeObject:(Ljava/lang/Object;)V
         2: .line 354
            aload 2 /* localRef */
            ifnonnull 5
         3: .line 355
            aload 1 /* out */
            ldc ""
            invokeinterface java.io.ObjectOutput.writeUTF:(Ljava/lang/String;)V
         4: .line 356
            goto 7
         5: .line 357
      StackMap locals: java.rmi.server.RemoteRef
      StackMap stack:
            aload 1 /* out */
            aload 2 /* localRef */
            aload 1 /* out */
            invokeinterface java.rmi.server.RemoteRef.getRefClass:(Ljava/io/ObjectOutput;)Ljava/lang/String;
            invokeinterface java.io.ObjectOutput.writeUTF:(Ljava/lang/String;)V
         6: .line 358
            aload 2 /* localRef */
            aload 1 /* out */
            invokeinterface java.rmi.server.RemoteRef.writeExternal:(Ljava/io/ObjectOutput;)V
         7: .line 360
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.rmi.server.RemoteRef localRef
        end local 1 // java.io.ObjectOutput out
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lsun/rmi/server/ActivatableRef;
            0    8     1       out  Ljava/io/ObjectOutput;
            1    8     2  localRef  Ljava/rmi/server/RemoteRef;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public void readExternal(java.io.ObjectInput);
    descriptor: (Ljava/io/ObjectInput;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.rmi.server.ActivatableRef this
        start local 1 // java.io.ObjectInput in
         0: .line 370
            aload 0 /* this */
            aload 1 /* in */
            invokeinterface java.io.ObjectInput.readObject:()Ljava/lang/Object;
            checkcast java.rmi.activation.ActivationID
            putfield sun.rmi.server.ActivatableRef.id:Ljava/rmi/activation/ActivationID;
         1: .line 371
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
         2: .line 372
            aload 1 /* in */
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* className */
        start local 2 // java.lang.String className
         3: .line 374
            aload 2 /* className */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
            return
         4: .line 377
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "sun.rmi.server."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 378
            aload 2 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 377
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* refClass */
        start local 3 // java.lang.Class refClass
         7: .line 379
            aload 0 /* this */
            aload 3 /* refClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.rmi.server.RemoteRef
            putfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
         8: .line 380
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            aload 1 /* in */
            invokeinterface java.rmi.server.RemoteRef.readExternal:(Ljava/io/ObjectInput;)V
        end local 3 // java.lang.Class refClass
         9: .line 381
            goto 16
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
        10: astore 3 /* e */
        start local 3 // java.lang.InstantiationException e
        11: .line 382
            new java.rmi.UnmarshalException
            dup
            ldc "Unable to create remote reference"
        12: .line 383
            aload 3 /* e */
        13: .line 382
            invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // java.lang.InstantiationException e
        14: .line 384
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
        15: .line 385
            new java.rmi.UnmarshalException
            dup
            ldc "Illegal access creating remote reference"
            invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 387
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String className
        end local 1 // java.io.ObjectInput in
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lsun/rmi/server/ActivatableRef;
            0   17     1         in  Ljava/io/ObjectInput;
            3   17     2  className  Ljava/lang/String;
            7    9     3   refClass  Ljava/lang/Class<*>;
           11   14     3          e  Ljava/lang/InstantiationException;
      Exception table:
        from    to  target  type
           4     9      10  Class java.lang.InstantiationException
           4     9      14  Class java.lang.IllegalAccessException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    

  public java.lang.String remoteToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.rmi.server.ActivatableRef this
         0: .line 394
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic sun.rmi.server.Util.getUnqualifiedName:(Ljava/lang/Class;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 395
            ldc " [remoteRef: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 394
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/rmi/server/ActivatableRef;

  public int remoteHashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.rmi.server.ActivatableRef this
         0: .line 402
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.id:Ljava/rmi/activation/ActivationID;
            invokevirtual java.rmi.activation.ActivationID.hashCode:()I
            ireturn
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/rmi/server/ActivatableRef;

  public boolean remoteEquals(java.rmi.server.RemoteRef);
    descriptor: (Ljava/rmi/server/RemoteRef;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.rmi.server.ActivatableRef this
        start local 1 // java.rmi.server.RemoteRef ref
         0: .line 408
            aload 1 /* ref */
            instanceof sun.rmi.server.ActivatableRef
            ifeq 2
         1: .line 409
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.id:Ljava/rmi/activation/ActivationID;
            aload 1 /* ref */
            checkcast sun.rmi.server.ActivatableRef
            getfield sun.rmi.server.ActivatableRef.id:Ljava/rmi/activation/ActivationID;
            invokevirtual java.rmi.activation.ActivationID.equals:(Ljava/lang/Object;)Z
            ireturn
         2: .line 410
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.rmi.server.RemoteRef ref
        end local 0 // sun.rmi.server.ActivatableRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/rmi/server/ActivatableRef;
            0    3     1   ref  Ljava/rmi/server/RemoteRef;
    MethodParameters:
      Name  Flags
      ref   
}
SourceFile: "ActivatableRef.java"