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 163
            aload 10 /* e */
            astore 8 /* exception */
        end local 10 // java.rmi.ConnectIOException e
        27: goto 43
        28: .line 164
      StackMap locals:
      StackMap stack: java.rmi.MarshalException
            astore 10 /* e */
        start local 10 // java.rmi.MarshalException e
        29: .line 169
            aload 10 /* e */
            athrow
        end local 10 // java.rmi.MarshalException e
        30: .line 170
      StackMap locals:
      StackMap stack: java.rmi.ServerError
            astore 10 /* e */
        start local 10 // java.rmi.ServerError e
        31: .line 174
            aload 10 /* e */
            athrow
        end local 10 // java.rmi.ServerError e
        32: .line 175
      StackMap locals:
      StackMap stack: java.rmi.ServerException
            astore 10 /* e */
        start local 10 // java.rmi.ServerException e
        33: .line 179
            aload 10 /* e */
            athrow
        end local 10 // java.rmi.ServerException e
        34: .line 180
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 10 /* e */
        start local 10 // java.rmi.RemoteException e
        35: .line 194
            aload 0 /* this */
            dup
            astore 11
            monitorenter
        36: .line 195
            aload 7 /* localRef */
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            if_acmpne 38
        37: .line 196
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
        38: .line 194
      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 200
      StackMap locals:
      StackMap stack:
            aload 10 /* e */
            athrow
        end local 10 // java.rmi.RemoteException e
        43: .line 203
      StackMap locals:
      StackMap stack:
            iload 9 /* retries */
            iconst_1
            if_icmple 60
        44: .line 207
            aload 0 /* this */
            dup
            astore 10
            monitorenter
        45: .line 208
            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 209
      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 211
            aload 11 /* newRef */
            aload 7 /* localRef */
            invokeinterface java.rmi.server.RemoteRef.remoteEquals:(Ljava/rmi/server/RemoteRef;)Z
            ifeq 51
        48: .line 212
            aload 8 /* exception */
            instanceof java.rmi.NoSuchObjectException
            ifeq 51
        49: .line 213
            iload 6 /* force */
            ifne 51
        50: .line 219
            aload 0 /* this */
            iconst_1
            invokevirtual sun.rmi.server.ActivatableRef.activate:(Z)Ljava/rmi/server/RemoteRef;
            astore 11 /* newRef */
        51: .line 222
      StackMap locals: java.rmi.server.RemoteRef
      StackMap stack:
            aload 11 /* newRef */
            astore 7 /* localRef */
        52: .line 223
            iconst_1
            istore 6 /* force */
        end local 11 // java.rmi.server.RemoteRef newRef
        53: .line 224
            goto 56
        54: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            astore 7 /* localRef */
        55: .line 226
            iconst_0
            istore 6 /* force */
        56: .line 207
      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 235
            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 244
            aload 0 /* this */
            getfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
            ifnonnull 2
         1: .line 245
            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 248
      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 260
            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 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
         2: .line 276
            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 277
            aconst_null
            astore 3 /* newRef */
        start local 3 // sun.rmi.server.ActivatableRef newRef
         4: .line 279
            aload 2 /* proxy */
            instanceof java.rmi.server.RemoteStub
            ifeq 7
         5: .line 280
            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 281
            goto 11
         7: .line 290
      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 289
            checkcast java.rmi.server.RemoteObjectInvocationHandler
         9: .line 288
            astore 4 /* handler */
        start local 4 // java.rmi.server.RemoteObjectInvocationHandler handler
        10: .line 291
            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 293
      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 294
            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 296
      StackMap locals: sun.rmi.server.ActivatableRef int
      StackMap stack: java.rmi.ConnectException
            astore 2 /* e */
        start local 2 // java.rmi.ConnectException e
        15: .line 297
            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 298
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 2 /* e */
        start local 2 // java.rmi.RemoteException e
        17: .line 299
            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 300
      StackMap locals:
      StackMap stack: java.rmi.activation.UnknownObjectException
            pop
        19: .line 301
            new java.rmi.NoSuchObjectException
            dup
            ldc "object not registered"
            invokespecial java.rmi.NoSuchObjectException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 302
      StackMap locals:
      StackMap stack: java.rmi.activation.ActivationException
            astore 2 /* e */
        start local 2 // java.rmi.activation.ActivationException e
        21: .line 303
            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 317
            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 326
            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 334
            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 342
            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 350
            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 352
            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 353
            aload 2 /* localRef */
            ifnonnull 5
         3: .line 354
            aload 1 /* out */
            ldc ""
            invokeinterface java.io.ObjectOutput.writeUTF:(Ljava/lang/String;)V
         4: .line 355
            goto 7
         5: .line 356
      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 357
            aload 2 /* localRef */
            aload 1 /* out */
            invokeinterface java.rmi.server.RemoteRef.writeExternal:(Ljava/io/ObjectOutput;)V
         7: .line 359
      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 369
            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 370
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.ActivatableRef.ref:Ljava/rmi/server/RemoteRef;
         2: .line 371
            aload 1 /* in */
            invokeinterface java.io.ObjectInput.readUTF:()Ljava/lang/String;
            astore 2 /* className */
        start local 2 // java.lang.String className
         3: .line 373
            aload 2 /* className */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 4
            return
         4: .line 376
      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 377
            aload 2 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 376
            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 378
            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 379
            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 380
            goto 16
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
        10: astore 3 /* e */
        start local 3 // java.lang.InstantiationException e
        11: .line 381
            new java.rmi.UnmarshalException
            dup
            ldc "Unable to create remote reference"
        12: .line 382
            aload 3 /* e */
        13: .line 381
            invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // java.lang.InstantiationException e
        14: .line 383
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
        15: .line 384
            new java.rmi.UnmarshalException
            dup
            ldc "Illegal access creating remote reference"
            invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 386
      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 393
            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 394
            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 393
            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 401
            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 407
            aload 1 /* ref */
            instanceof sun.rmi.server.ActivatableRef
            ifeq 2
         1: .line 408
            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 409
      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"