public class sun.rmi.server.UnicastServerRef extends sun.rmi.server.UnicastRef implements java.rmi.server.ServerRef, sun.rmi.server.Dispatcher
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.rmi.server.UnicastServerRef
  super_class: sun.rmi.server.UnicastRef
{
  public static final boolean logCalls;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final sun.rmi.runtime.Log callLog;
    descriptor: Lsun/rmi/runtime/Log;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -7384275867073752268

  private static final boolean wantExceptionLog;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private boolean forceStubUse;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final boolean suppressStackTraces;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private transient java.rmi.server.Skeleton skel;
    descriptor: Ljava/rmi/server/Skeleton;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final transient sun.misc.ObjectInputFilter filter;
    descriptor: Lsun/misc/ObjectInputFilter;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private transient java.util.Map<java.lang.Long, java.lang.reflect.Method> hashToMethod_Map;
    descriptor: Ljava/util/Map;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/Map<Ljava/lang/Long;Ljava/lang/reflect/Method;>;

  private static final sun.rmi.server.WeakClassHashMap<java.util.Map<java.lang.Long, java.lang.reflect.Method>> hashToMethod_Maps;
    descriptor: Lsun/rmi/server/WeakClassHashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lsun/rmi/server/WeakClassHashMap<Ljava/util/Map<Ljava/lang/Long;Ljava/lang/reflect/Method;>;>;

  private static final java.util.Map<java.lang.Class<?>, ?> withoutSkeletons;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;*>;

  private final java.util.concurrent.atomic.AtomicInteger methodCallIDCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 84
            new sun.security.action.GetBooleanAction
            dup
            ldc "java.rmi.server.logCalls"
            invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
         1: .line 83
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putstatic sun.rmi.server.UnicastServerRef.logCalls:Z
         2: .line 88
            ldc "sun.rmi.server.call"
            ldc "RMI"
            getstatic sun.rmi.server.UnicastServerRef.logCalls:Z
            invokestatic sun.rmi.runtime.Log.getLog:(Ljava/lang/String;Ljava/lang/String;Z)Lsun/rmi/runtime/Log;
         3: .line 87
            putstatic sun.rmi.server.UnicastServerRef.callLog:Lsun/rmi/runtime/Log;
         4: .line 96
            new sun.security.action.GetBooleanAction
            dup
            ldc "sun.rmi.server.exceptionTrace"
            invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
         5: .line 95
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
         6: .line 94
            putstatic sun.rmi.server.UnicastServerRef.wantExceptionLog:Z
         7: .line 106
            new sun.security.action.GetBooleanAction
            dup
         8: .line 107
            ldc "sun.rmi.server.suppressStackTraces"
         9: .line 106
            invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
        10: .line 105
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
        11: .line 104
            putstatic sun.rmi.server.UnicastServerRef.suppressStackTraces:Z
        12: .line 126
            new sun.rmi.server.UnicastServerRef$HashToMethod_Maps
            dup
            invokespecial sun.rmi.server.UnicastServerRef$HashToMethod_Maps.<init>:()V
        13: .line 125
            putstatic sun.rmi.server.UnicastServerRef.hashToMethod_Maps:Lsun/rmi/server/WeakClassHashMap;
        14: .line 130
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
        15: .line 129
            putstatic sun.rmi.server.UnicastServerRef.withoutSkeletons:Ljava/util/Map;
        16: .line 130
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.rmi.server.UnicastServerRef this
         0: .line 138
            aload 0 /* this */
            invokespecial sun.rmi.server.UnicastRef.<init>:()V
         1: .line 98
            aload 0 /* this */
            iconst_0
            putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
         2: .line 119
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
         3: .line 132
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield sun.rmi.server.UnicastServerRef.methodCallIDCount:Ljava/util/concurrent/atomic/AtomicInteger;
         4: .line 139
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.UnicastServerRef.filter:Lsun/misc/ObjectInputFilter;
         5: .line 140
            return
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/rmi/server/UnicastServerRef;

  public void <init>(sun.rmi.transport.LiveRef);
    descriptor: (Lsun/rmi/transport/LiveRef;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // sun.rmi.transport.LiveRef ref
         0: .line 148
            aload 0 /* this */
            aload 1 /* ref */
            invokespecial sun.rmi.server.UnicastRef.<init>:(Lsun/rmi/transport/LiveRef;)V
         1: .line 98
            aload 0 /* this */
            iconst_0
            putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
         2: .line 119
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
         3: .line 132
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield sun.rmi.server.UnicastServerRef.methodCallIDCount:Ljava/util/concurrent/atomic/AtomicInteger;
         4: .line 149
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.UnicastServerRef.filter:Lsun/misc/ObjectInputFilter;
         5: .line 150
            return
        end local 1 // sun.rmi.transport.LiveRef ref
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/rmi/server/UnicastServerRef;
            0    6     1   ref  Lsun/rmi/transport/LiveRef;
    MethodParameters:
      Name  Flags
      ref   

  public void <init>(sun.rmi.transport.LiveRef, sun.misc.ObjectInputFilter);
    descriptor: (Lsun/rmi/transport/LiveRef;Lsun/misc/ObjectInputFilter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // sun.rmi.transport.LiveRef ref
        start local 2 // sun.misc.ObjectInputFilter filter
         0: .line 157
            aload 0 /* this */
            aload 1 /* ref */
            invokespecial sun.rmi.server.UnicastRef.<init>:(Lsun/rmi/transport/LiveRef;)V
         1: .line 98
            aload 0 /* this */
            iconst_0
            putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
         2: .line 119
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
         3: .line 132
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield sun.rmi.server.UnicastServerRef.methodCallIDCount:Ljava/util/concurrent/atomic/AtomicInteger;
         4: .line 158
            aload 0 /* this */
            aload 2 /* filter */
            putfield sun.rmi.server.UnicastServerRef.filter:Lsun/misc/ObjectInputFilter;
         5: .line 159
            return
        end local 2 // sun.misc.ObjectInputFilter filter
        end local 1 // sun.rmi.transport.LiveRef ref
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/rmi/server/UnicastServerRef;
            0    6     1     ref  Lsun/rmi/transport/LiveRef;
            0    6     2  filter  Lsun/misc/ObjectInputFilter;
    MethodParameters:
        Name  Flags
      ref     
      filter  

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // int port
         0: .line 166
            aload 0 /* this */
            new sun.rmi.transport.LiveRef
            dup
            iload 1 /* port */
            invokespecial sun.rmi.transport.LiveRef.<init>:(I)V
            invokespecial sun.rmi.server.UnicastRef.<init>:(Lsun/rmi/transport/LiveRef;)V
         1: .line 98
            aload 0 /* this */
            iconst_0
            putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
         2: .line 119
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
         3: .line 132
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield sun.rmi.server.UnicastServerRef.methodCallIDCount:Ljava/util/concurrent/atomic/AtomicInteger;
         4: .line 167
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.UnicastServerRef.filter:Lsun/misc/ObjectInputFilter;
         5: .line 168
            return
        end local 1 // int port
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/rmi/server/UnicastServerRef;
            0    6     1  port  I
    MethodParameters:
      Name  Flags
      port  

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // boolean forceStubUse
         0: .line 184
            aload 0 /* this */
            iconst_0
            invokespecial sun.rmi.server.UnicastServerRef.<init>:(I)V
         1: .line 185
            aload 0 /* this */
            iload 1 /* forceStubUse */
            putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
         2: .line 186
            return
        end local 1 // boolean forceStubUse
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lsun/rmi/server/UnicastServerRef;
            0    3     1  forceStubUse  Z
    MethodParameters:
              Name  Flags
      forceStubUse  

  public java.rmi.server.RemoteStub exportObject(java.rmi.Remote, java.lang.Object);
    descriptor: (Ljava/rmi/Remote;Ljava/lang/Object;)Ljava/rmi/server/RemoteStub;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.rmi.Remote impl
        start local 2 // java.lang.Object data
         0: .line 205
            aload 0 /* this */
            iconst_1
            putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
         1: .line 206
            aload 0 /* this */
            aload 1 /* impl */
            aload 2 /* data */
            iconst_0
            invokevirtual sun.rmi.server.UnicastServerRef.exportObject:(Ljava/rmi/Remote;Ljava/lang/Object;Z)Ljava/rmi/Remote;
            checkcast java.rmi.server.RemoteStub
            areturn
        end local 2 // java.lang.Object data
        end local 1 // java.rmi.Remote impl
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/rmi/server/UnicastServerRef;
            0    2     1  impl  Ljava/rmi/Remote;
            0    2     2  data  Ljava/lang/Object;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      impl  
      data  

  public java.rmi.Remote exportObject(java.rmi.Remote, java.lang.Object, boolean);
    descriptor: (Ljava/rmi/Remote;Ljava/lang/Object;Z)Ljava/rmi/Remote;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.rmi.Remote impl
        start local 2 // java.lang.Object data
        start local 3 // boolean permanent
         0: .line 220
            aload 1 /* impl */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 4 /* implClass */
        start local 4 // java.lang.Class implClass
         1: .line 224
            aload 4 /* implClass */
            aload 0 /* this */
            invokevirtual sun.rmi.server.UnicastServerRef.getClientRef:()Ljava/rmi/server/RemoteRef;
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
            invokestatic sun.rmi.server.Util.createProxy:(Ljava/lang/Class;Ljava/rmi/server/RemoteRef;Z)Ljava/rmi/Remote;
            astore 5 /* stub */
        start local 5 // java.rmi.Remote stub
         2: .line 225
            goto 7
        end local 5 // java.rmi.Remote stub
      StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.lang.Object int java.lang.Class
      StackMap stack: java.lang.IllegalArgumentException
         3: astore 6 /* e */
        start local 6 // java.lang.IllegalArgumentException e
         4: .line 226
            new java.rmi.server.ExportException
            dup
         5: .line 227
            ldc "remote object implements illegal remote interface"
            aload 6 /* e */
         6: .line 226
            invokespecial java.rmi.server.ExportException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 6 // java.lang.IllegalArgumentException e
        start local 5 // java.rmi.Remote stub
         7: .line 229
      StackMap locals: java.rmi.Remote
      StackMap stack:
            aload 5 /* stub */
            instanceof java.rmi.server.RemoteStub
            ifeq 9
         8: .line 230
            aload 0 /* this */
            aload 1 /* impl */
            invokevirtual sun.rmi.server.UnicastServerRef.setSkeleton:(Ljava/rmi/Remote;)V
         9: .line 234
      StackMap locals:
      StackMap stack:
            new sun.rmi.transport.Target
            dup
            aload 1 /* impl */
            aload 0 /* this */
            aload 5 /* stub */
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
            invokevirtual sun.rmi.transport.LiveRef.getObjID:()Ljava/rmi/server/ObjID;
            iload 3 /* permanent */
            invokespecial sun.rmi.transport.Target.<init>:(Ljava/rmi/Remote;Lsun/rmi/server/Dispatcher;Ljava/rmi/Remote;Ljava/rmi/server/ObjID;Z)V
        10: .line 233
            astore 6 /* target */
        start local 6 // sun.rmi.transport.Target target
        11: .line 235
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
            aload 6 /* target */
            invokevirtual sun.rmi.transport.LiveRef.exportObject:(Lsun/rmi/transport/Target;)V
        12: .line 236
            aload 0 /* this */
            getstatic sun.rmi.server.UnicastServerRef.hashToMethod_Maps:Lsun/rmi/server/WeakClassHashMap;
            aload 4 /* implClass */
            invokevirtual sun.rmi.server.WeakClassHashMap.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.util.Map
            putfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
        13: .line 237
            aload 5 /* stub */
            areturn
        end local 6 // sun.rmi.transport.Target target
        end local 5 // java.rmi.Remote stub
        end local 4 // java.lang.Class implClass
        end local 3 // boolean permanent
        end local 2 // java.lang.Object data
        end local 1 // java.rmi.Remote impl
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lsun/rmi/server/UnicastServerRef;
            0   14     1       impl  Ljava/rmi/Remote;
            0   14     2       data  Ljava/lang/Object;
            0   14     3  permanent  Z
            1   14     4  implClass  Ljava/lang/Class;
            2    3     5       stub  Ljava/rmi/Remote;
            7   14     5       stub  Ljava/rmi/Remote;
            4    7     6          e  Ljava/lang/IllegalArgumentException;
           11   14     6     target  Lsun/rmi/transport/Target;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
           Name  Flags
      impl       
      data       
      permanent  

  public java.lang.String getClientHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.rmi.server.UnicastServerRef this
         0: .line 248
            invokestatic sun.rmi.transport.tcp.TCPTransport.getClientHost:()Ljava/lang/String;
            areturn
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/rmi/server/UnicastServerRef;
    Exceptions:
      throws java.rmi.server.ServerNotActiveException

  public void setSkeleton(java.rmi.Remote);
    descriptor: (Ljava/rmi/Remote;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.rmi.Remote impl
         0: .line 255
            getstatic sun.rmi.server.UnicastServerRef.withoutSkeletons:Ljava/util/Map;
            aload 1 /* impl */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 5
         1: .line 257
            aload 0 /* this */
            aload 1 /* impl */
            invokestatic sun.rmi.server.Util.createSkeleton:(Ljava/rmi/Remote;)Ljava/rmi/server/Skeleton;
            putfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
         2: .line 258
            goto 5
      StackMap locals:
      StackMap stack: java.rmi.server.SkeletonNotFoundException
         3: pop
         4: .line 265
            getstatic sun.rmi.server.UnicastServerRef.withoutSkeletons:Ljava/util/Map;
            aload 1 /* impl */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aconst_null
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 268
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.rmi.Remote impl
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/rmi/server/UnicastServerRef;
            0    6     1  impl  Ljava/rmi/Remote;
      Exception table:
        from    to  target  type
           1     2       3  Class java.rmi.server.SkeletonNotFoundException
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      impl  

  public void dispatch(java.rmi.Remote, java.rmi.server.RemoteCall);
    descriptor: (Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=14, args_size=3
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.rmi.Remote obj
        start local 2 // java.rmi.server.RemoteCall call
         0: .line 291
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.getInputStream:()Ljava/io/ObjectInput;
            astore 6 /* in */
        start local 6 // java.io.ObjectInput in
         1: .line 292
            aload 6 /* in */
            invokeinterface java.io.ObjectInput.readInt:()I
            istore 3 /* num */
        start local 3 // int num
         2: .line 293
            goto 7
        end local 6 // java.io.ObjectInput in
        end local 3 // int num
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: astore 7 /* readEx */
        start local 7 // java.lang.Exception readEx
         4: .line 294
            new java.rmi.UnmarshalException
            dup
            ldc "error unmarshalling call header"
         5: .line 295
            aload 7 /* readEx */
         6: .line 294
            invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 7 // java.lang.Exception readEx
        start local 3 // int num
        start local 6 // java.io.ObjectInput in
         7: .line 297
      StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int top top java.io.ObjectInput
      StackMap stack:
            iload 3 /* num */
            iflt 16
         8: .line 298
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
            ifnull 13
         9: .line 299
            aload 0 /* this */
            aload 1 /* obj */
            aload 2 /* call */
            iload 3 /* num */
            invokevirtual sun.rmi.server.UnicastServerRef.oldDispatch:(Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;I)V
        10: .line 408
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
        11: .line 409
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.releaseOutputStream:()V
        12: .line 300
            return
        13: .line 302
      StackMap locals:
      StackMap stack:
            new java.rmi.UnmarshalException
            dup
        14: .line 303
            ldc "skeleton class not found but required for client version"
        15: .line 302
            invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 308
      StackMap locals:
      StackMap stack:
            aload 6 /* in */
            invokeinterface java.io.ObjectInput.readLong:()J
            lstore 4 /* op */
        start local 4 // long op
        17: .line 309
            goto 22
        end local 4 // long op
      StackMap locals:
      StackMap stack: java.lang.Exception
        18: astore 7 /* readEx */
        start local 7 // java.lang.Exception readEx
        19: .line 310
            new java.rmi.UnmarshalException
            dup
            ldc "error unmarshalling call header"
        20: .line 311
            aload 7 /* readEx */
        21: .line 310
            invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 7 // java.lang.Exception readEx
        start local 4 // long op
        22: .line 321
      StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int long java.io.ObjectInput
      StackMap stack:
            aload 6 /* in */
            checkcast sun.rmi.server.MarshalInputStream
            astore 7 /* marshalStream */
        start local 7 // sun.rmi.server.MarshalInputStream marshalStream
        23: .line 322
            aload 7 /* marshalStream */
            invokevirtual sun.rmi.server.MarshalInputStream.skipDefaultResolveClass:()V
        24: .line 324
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
            lload 4 /* op */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 8 /* method */
        start local 8 // java.lang.reflect.Method method
        25: .line 325
            aload 8 /* method */
            ifnonnull 27
        26: .line 326
            new java.rmi.UnmarshalException
            dup
            ldc "unrecognized method hash: method not supported by remote object"
            invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 331
      StackMap locals: sun.rmi.server.MarshalInputStream java.lang.reflect.Method
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            aload 8 /* method */
            invokevirtual sun.rmi.server.UnicastServerRef.logCall:(Ljava/rmi/Remote;Ljava/lang/Object;)V
        28: .line 334
            aconst_null
            astore 9 /* params */
        start local 9 // java.lang.Object[] params
        29: .line 337
            aload 0 /* this */
            aload 6 /* in */
            invokevirtual sun.rmi.server.UnicastServerRef.unmarshalCustomCallData:(Ljava/io/ObjectInput;)V
        30: .line 338
            aload 0 /* this */
            aload 1 /* obj */
            aload 8 /* method */
            aload 7 /* marshalStream */
            invokevirtual sun.rmi.server.UnicastServerRef.unmarshalParameters:(Ljava/lang/Object;Ljava/lang/reflect/Method;Lsun/rmi/server/MarshalInputStream;)[Ljava/lang/Object;
            astore 9 /* params */
        31: .line 339
            goto 48
      StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int long java.io.ObjectInput sun.rmi.server.MarshalInputStream java.lang.reflect.Method java.lang.Object[]
      StackMap stack: java.rmi.AccessException
        32: astore 10 /* aex */
        start local 10 // java.rmi.AccessException aex
        33: .line 342
            aload 2 /* call */
            checkcast sun.rmi.transport.StreamRemoteCall
            invokevirtual sun.rmi.transport.StreamRemoteCall.discardPendingRefs:()V
        34: .line 343
            aload 10 /* aex */
            athrow
        end local 10 // java.rmi.AccessException aex
        35: .line 344
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 10 /* e */
        start local 10 // java.io.IOException e
        36: .line 346
            aload 2 /* call */
            checkcast sun.rmi.transport.StreamRemoteCall
            invokevirtual sun.rmi.transport.StreamRemoteCall.discardPendingRefs:()V
        37: .line 347
            new java.rmi.UnmarshalException
            dup
        38: .line 348
            ldc "error unmarshalling arguments"
            aload 10 /* e */
        39: .line 347
            invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 10 // java.io.IOException e
        40: .line 349
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 10 /* e */
        start local 10 // java.lang.ClassNotFoundException e
        41: .line 351
            aload 2 /* call */
            checkcast sun.rmi.transport.StreamRemoteCall
            invokevirtual sun.rmi.transport.StreamRemoteCall.discardPendingRefs:()V
        42: .line 352
            new java.rmi.UnmarshalException
            dup
        43: .line 353
            ldc "error unmarshalling arguments"
            aload 10 /* e */
        44: .line 352
            invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 10 // java.lang.ClassNotFoundException e
        45: .line 354
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        46: .line 355
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
        47: .line 356
            aload 11
            athrow
        48: .line 355
      StackMap locals:
      StackMap stack:
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
        49: .line 361
            aload 8 /* method */
            aload 1 /* obj */
            aload 9 /* params */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* result */
        start local 10 // java.lang.Object result
        50: .line 362
            goto 53
        end local 10 // java.lang.Object result
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
        51: astore 11 /* e */
        start local 11 // java.lang.reflect.InvocationTargetException e
        52: .line 363
            aload 11 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            athrow
        end local 11 // java.lang.reflect.InvocationTargetException e
        start local 10 // java.lang.Object result
        53: .line 368
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* call */
            iconst_1
            invokeinterface java.rmi.server.RemoteCall.getResultStream:(Z)Ljava/io/ObjectOutput;
            astore 11 /* out */
        start local 11 // java.io.ObjectOutput out
        54: .line 369
            aload 8 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            astore 12 /* rtype */
        start local 12 // java.lang.Class rtype
        55: .line 370
            aload 12 /* rtype */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 85
        56: .line 371
            aload 12 /* rtype */
            aload 10 /* result */
            aload 11 /* out */
            invokestatic sun.rmi.server.UnicastServerRef.marshalValue:(Ljava/lang/Class;Ljava/lang/Object;Ljava/io/ObjectOutput;)V
        end local 12 // java.lang.Class rtype
        end local 11 // java.io.ObjectOutput out
        57: .line 373
            goto 85
      StackMap locals:
      StackMap stack: java.io.IOException
        58: astore 11 /* ex */
        start local 11 // java.io.IOException ex
        59: .line 374
            new java.rmi.MarshalException
            dup
            ldc "error marshalling return"
            aload 11 /* ex */
            invokespecial java.rmi.MarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 11 // java.io.IOException ex
        end local 10 // java.lang.Object result
        end local 9 // java.lang.Object[] params
        end local 8 // java.lang.reflect.Method method
        end local 7 // sun.rmi.server.MarshalInputStream marshalStream
        end local 6 // java.io.ObjectInput in
        end local 4 // long op
        end local 3 // int num
        60: .line 384
      StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall
      StackMap stack: java.lang.Throwable
            astore 6 /* e */
        start local 6 // java.lang.Throwable e
        61: .line 385
            aload 6 /* e */
            astore 7 /* origEx */
        start local 7 // java.lang.Throwable origEx
        62: .line 386
            aload 0 /* this */
            aload 6 /* e */
            invokevirtual sun.rmi.server.UnicastServerRef.logCallException:(Ljava/lang/Throwable;)V
        63: .line 388
            aload 2 /* call */
            iconst_0
            invokeinterface java.rmi.server.RemoteCall.getResultStream:(Z)Ljava/io/ObjectOutput;
            astore 8 /* out */
        start local 8 // java.io.ObjectOutput out
        64: .line 389
            aload 6 /* e */
            instanceof java.lang.Error
            ifeq 69
        65: .line 390
            new java.rmi.ServerError
            dup
        66: .line 391
            ldc "Error occurred in server thread"
            aload 6 /* e */
            checkcast java.lang.Error
        67: .line 390
            invokespecial java.rmi.ServerError.<init>:(Ljava/lang/String;Ljava/lang/Error;)V
            astore 6 /* e */
        68: .line 392
            goto 74
      StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall top top top java.lang.Throwable java.lang.Throwable java.io.ObjectOutput
      StackMap stack:
        69: aload 6 /* e */
            instanceof java.rmi.RemoteException
            ifeq 74
        70: .line 393
            new java.rmi.ServerException
            dup
        71: .line 394
            ldc "RemoteException occurred in server thread"
        72: .line 395
            aload 6 /* e */
            checkcast java.lang.Exception
        73: .line 393
            invokespecial java.rmi.ServerException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            astore 6 /* e */
        74: .line 397
      StackMap locals:
      StackMap stack:
            getstatic sun.rmi.server.UnicastServerRef.suppressStackTraces:Z
            ifeq 76
        75: .line 398
            aload 6 /* e */
            invokestatic sun.rmi.server.UnicastServerRef.clearStackTraces:(Ljava/lang/Throwable;)V
        76: .line 400
      StackMap locals:
      StackMap stack:
            aload 8 /* out */
            aload 6 /* e */
            invokeinterface java.io.ObjectOutput.writeObject:(Ljava/lang/Object;)V
        77: .line 404
            aload 7 /* origEx */
            instanceof java.rmi.AccessException
            ifeq 79
        78: .line 405
            new java.io.IOException
            dup
            ldc "Connection is not reusable"
            aload 7 /* origEx */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.io.ObjectOutput out
        end local 7 // java.lang.Throwable origEx
        end local 6 // java.lang.Throwable e
        79: .line 408
      StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall
      StackMap stack:
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
        80: .line 409
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.releaseOutputStream:()V
            goto 87
        81: .line 407
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        82: .line 408
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
        83: .line 409
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.releaseOutputStream:()V
        84: .line 410
            aload 13
            athrow
        85: .line 408
      StackMap locals:
      StackMap stack:
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
        86: .line 409
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.releaseOutputStream:()V
        87: .line 411
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.rmi.server.RemoteCall call
        end local 1 // java.rmi.Remote obj
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   88     0           this  Lsun/rmi/server/UnicastServerRef;
            0   88     1            obj  Ljava/rmi/Remote;
            0   88     2           call  Ljava/rmi/server/RemoteCall;
            2    3     3            num  I
            7   60     3            num  I
           17   18     4             op  J
           22   60     4             op  J
            1    3     6             in  Ljava/io/ObjectInput;
            7   60     6             in  Ljava/io/ObjectInput;
            4    7     7         readEx  Ljava/lang/Exception;
           19   22     7         readEx  Ljava/lang/Exception;
           23   60     7  marshalStream  Lsun/rmi/server/MarshalInputStream;
           25   60     8         method  Ljava/lang/reflect/Method;
           29   60     9         params  [Ljava/lang/Object;
           33   35    10            aex  Ljava/rmi/AccessException;
           36   40    10              e  Ljava/io/IOException;
           41   45    10              e  Ljava/lang/ClassNotFoundException;
           50   51    10         result  Ljava/lang/Object;
           53   60    10         result  Ljava/lang/Object;
           52   53    11              e  Ljava/lang/reflect/InvocationTargetException;
           54   57    11            out  Ljava/io/ObjectOutput;
           55   57    12          rtype  Ljava/lang/Class;
           59   60    11             ex  Ljava/io/IOException;
           61   79     6              e  Ljava/lang/Throwable;
           62   79     7         origEx  Ljava/lang/Throwable;
           64   79     8            out  Ljava/io/ObjectOutput;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Exception
          16    17      18  Class java.lang.Exception
          29    31      32  Class java.rmi.AccessException
          29    31      35  Class java.io.IOException
          29    31      40  Class java.lang.ClassNotFoundException
          29    45      45  any
          49    50      51  Class java.lang.reflect.InvocationTargetException
          53    57      58  Class java.io.IOException
           0    10      60  Class java.lang.Throwable
          13    60      60  Class java.lang.Throwable
           0    10      81  any
          13    79      81  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      call  

  protected void unmarshalCustomCallData(java.io.ObjectInput);
    descriptor: (Ljava/io/ObjectInput;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.io.ObjectInput in
         0: .line 419
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.filter:Lsun/misc/ObjectInputFilter;
            ifnull 4
         1: .line 420
            aload 1 /* in */
            instanceof java.io.ObjectInputStream
            ifeq 4
         2: .line 422
            aload 1 /* in */
            checkcast java.io.ObjectInputStream
            astore 2 /* ois */
        start local 2 // java.io.ObjectInputStream ois
         3: .line 424
            new sun.rmi.server.UnicastServerRef$1
            dup
            aload 0 /* this */
            aload 2 /* ois */
            invokespecial sun.rmi.server.UnicastServerRef$1.<init>:(Lsun/rmi/server/UnicastServerRef;Ljava/io/ObjectInputStream;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        end local 2 // java.io.ObjectInputStream ois
         4: .line 432
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.ObjectInput in
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/rmi/server/UnicastServerRef;
            0    5     1    in  Ljava/io/ObjectInput;
            3    4     2   ois  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    

  private void oldDispatch(java.rmi.Remote, java.rmi.server.RemoteCall, int);
    descriptor: (Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.rmi.Remote obj
        start local 2 // java.rmi.server.RemoteCall call
        start local 3 // int op
         0: .line 454
            aload 2 /* call */
            invokeinterface java.rmi.server.RemoteCall.getInputStream:()Ljava/io/ObjectInput;
            astore 6 /* in */
        start local 6 // java.io.ObjectInput in
         1: .line 456
            ldc "sun.rmi.transport.DGCImpl_Skel"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 7 /* clazz */
        start local 7 // java.lang.Class clazz
         2: .line 457
            aload 7 /* clazz */
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 6
         3: .line 458
            aload 6 /* in */
            checkcast sun.rmi.server.MarshalInputStream
            invokevirtual sun.rmi.server.MarshalInputStream.useCodebaseOnly:()V
        end local 7 // java.lang.Class clazz
         4: .line 460
            goto 6
      StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int top top java.io.ObjectInput
      StackMap stack: java.lang.ClassNotFoundException
         5: pop
         6: .line 463
      StackMap locals:
      StackMap stack:
            aload 6 /* in */
            invokeinterface java.io.ObjectInput.readLong:()J
            lstore 4 /* hash */
        start local 4 // long hash
         7: .line 464
            goto 10
        end local 4 // long hash
      StackMap locals:
      StackMap stack: java.lang.Exception
         8: astore 7 /* ioe */
        start local 7 // java.lang.Exception ioe
         9: .line 465
            new java.rmi.UnmarshalException
            dup
            ldc "error unmarshalling call header"
            aload 7 /* ioe */
            invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 7 // java.lang.Exception ioe
        start local 4 // long hash
        10: .line 469
      StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int long java.io.ObjectInput
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
            invokeinterface java.rmi.server.Skeleton.getOperations:()[Ljava/rmi/server/Operation;
            iload 3 /* op */
            aaload
            invokevirtual sun.rmi.server.UnicastServerRef.logCall:(Ljava/rmi/Remote;Ljava/lang/Object;)V
        11: .line 470
            aload 0 /* this */
            aload 6 /* in */
            invokevirtual sun.rmi.server.UnicastServerRef.unmarshalCustomCallData:(Ljava/io/ObjectInput;)V
        12: .line 472
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
            aload 1 /* obj */
            aload 2 /* call */
            iload 3 /* op */
            lload 4 /* hash */
            invokeinterface java.rmi.server.Skeleton.dispatch:(Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;IJ)V
        13: .line 473
            return
        end local 6 // java.io.ObjectInput in
        end local 4 // long hash
        end local 3 // int op
        end local 2 // java.rmi.server.RemoteCall call
        end local 1 // java.rmi.Remote obj
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lsun/rmi/server/UnicastServerRef;
            0   14     1    obj  Ljava/rmi/Remote;
            0   14     2   call  Ljava/rmi/server/RemoteCall;
            0   14     3     op  I
            7    8     4   hash  J
           10   14     4   hash  J
            1   14     6     in  Ljava/io/ObjectInput;
            2    4     7  clazz  Ljava/lang/Class<*>;
            9   10     7    ioe  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.ClassNotFoundException
           6     7       8  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      obj   
      call  
      op    

  public static void clearStackTraces(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 481
            iconst_0
            anewarray java.lang.StackTraceElement
            astore 1 /* empty */
        start local 1 // java.lang.StackTraceElement[] empty
         1: .line 482
            goto 4
         2: .line 483
      StackMap locals: java.lang.StackTraceElement[]
      StackMap stack:
            aload 0 /* t */
            aload 1 /* empty */
            invokevirtual java.lang.Throwable.setStackTrace:([Ljava/lang/StackTraceElement;)V
         3: .line 484
            aload 0 /* t */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 0 /* t */
         4: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* t */
            ifnonnull 2
         5: .line 486
            return
        end local 1 // java.lang.StackTraceElement[] empty
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0      t  Ljava/lang/Throwable;
            1    6     1  empty  [Ljava/lang/StackTraceElement;
    MethodParameters:
      Name  Flags
      t     

  private void logCall(java.rmi.Remote, java.lang.Object);
    descriptor: (Ljava/rmi/Remote;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.rmi.Remote obj
        start local 2 // java.lang.Object method
         0: .line 493
            getstatic sun.rmi.server.UnicastServerRef.callLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 10
         1: .line 496
            aload 0 /* this */
            invokevirtual sun.rmi.server.UnicastServerRef.getClientHost:()Ljava/lang/String;
            astore 3 /* clientHost */
        start local 3 // java.lang.String clientHost
         2: .line 497
            goto 5
        end local 3 // java.lang.String clientHost
      StackMap locals:
      StackMap stack: java.rmi.server.ServerNotActiveException
         3: pop
         4: .line 498
            ldc "(local)"
            astore 3 /* clientHost */
        start local 3 // java.lang.String clientHost
         5: .line 500
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic sun.rmi.server.UnicastServerRef.callLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* clientHost */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 501
            aload 1 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 502
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
            invokevirtual sun.rmi.transport.LiveRef.getObjID:()Ljava/rmi/server/ObjID;
            invokevirtual java.rmi.server.ObjID.toString:()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;
         8: .line 503
            aload 2 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 500
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        end local 3 // java.lang.String clientHost
        10: .line 505
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object method
        end local 1 // java.rmi.Remote obj
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lsun/rmi/server/UnicastServerRef;
            0   11     1         obj  Ljava/rmi/Remote;
            0   11     2      method  Ljava/lang/Object;
            2    3     3  clientHost  Ljava/lang/String;
            5   10     3  clientHost  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.rmi.server.ServerNotActiveException
    MethodParameters:
        Name  Flags
      obj     
      method  

  private void logCallException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.lang.Throwable e
         0: .line 512
            getstatic sun.rmi.server.UnicastServerRef.callLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 6
         1: .line 513
            ldc ""
            astore 2 /* clientHost */
        start local 2 // java.lang.String clientHost
         2: .line 515
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.rmi.server.UnicastServerRef.getClientHost:()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;
            astore 2 /* clientHost */
         3: .line 516
            goto 5
      StackMap locals: sun.rmi.server.UnicastServerRef java.lang.Throwable java.lang.String
      StackMap stack: java.rmi.server.ServerNotActiveException
         4: pop
         5: .line 518
      StackMap locals:
      StackMap stack:
            getstatic sun.rmi.server.UnicastServerRef.callLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            aload 2 /* clientHost */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "exception: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.lang.String clientHost
         6: .line 522
      StackMap locals:
      StackMap stack:
            getstatic sun.rmi.server.UnicastServerRef.wantExceptionLog:Z
            ifeq 20
         7: .line 523
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            astore 2 /* log */
        start local 2 // java.io.PrintStream log
         8: .line 524
            aload 2 /* log */
            dup
            astore 3
            monitorenter
         9: .line 525
            aload 2 /* log */
            invokevirtual java.io.PrintStream.println:()V
        10: .line 526
            aload 2 /* log */
            new java.lang.StringBuilder
            dup
            ldc "Exception dispatching call to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 527
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
            invokevirtual sun.rmi.transport.LiveRef.getObjID:()Ljava/rmi/server/ObjID;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " in thread \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 528
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 529
            ldc "\" at "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 526
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 530
            aload 1 /* e */
            aload 2 /* log */
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintStream;)V
        16: .line 524
            aload 3
            monitorexit
        17: goto 20
      StackMap locals: sun.rmi.server.UnicastServerRef java.lang.Throwable java.io.PrintStream java.io.PrintStream
      StackMap stack: java.lang.Throwable
        18: aload 3
            monitorexit
        19: athrow
        end local 2 // java.io.PrintStream log
        20: .line 533
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable e
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lsun/rmi/server/UnicastServerRef;
            0   21     1           e  Ljava/lang/Throwable;
            2    6     2  clientHost  Ljava/lang/String;
            8   20     2         log  Ljava/io/PrintStream;
      Exception table:
        from    to  target  type
           2     3       4  Class java.rmi.server.ServerNotActiveException
           9    17      18  any
          18    19      18  any
    MethodParameters:
      Name  Flags
      e     

  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.UnicastServerRef this
        start local 1 // java.io.ObjectOutput out
         0: .line 539
            ldc "UnicastServerRef"
            areturn
        end local 1 // java.io.ObjectOutput out
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/rmi/server/UnicastServerRef;
            0    1     1   out  Ljava/io/ObjectOutput;
    MethodParameters:
      Name  Flags
      out   

  protected java.rmi.server.RemoteRef getClientRef();
    descriptor: ()Ljava/rmi/server/RemoteRef;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.rmi.server.UnicastServerRef this
         0: .line 549
            new sun.rmi.server.UnicastRef
            dup
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
            invokespecial sun.rmi.server.UnicastRef.<init>:(Lsun/rmi/transport/LiveRef;)V
            areturn
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/rmi/server/UnicastServerRef;

  public void writeExternal(java.io.ObjectOutput);
    descriptor: (Ljava/io/ObjectOutput;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.io.ObjectOutput out
         0: .line 556
            return
        end local 1 // java.io.ObjectOutput out
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/rmi/server/UnicastServerRef;
            0    1     1   out  Ljava/io/ObjectOutput;
    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=2, locals=2, args_size=2
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.io.ObjectInput in
         0: .line 567
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
         1: .line 568
            aload 0 /* this */
            aconst_null
            putfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
         2: .line 569
            return
        end local 1 // java.io.ObjectInput in
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/rmi/server/UnicastServerRef;
            0    3     1    in  Ljava/io/ObjectInput;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    

  private java.lang.Object[] unmarshalParameters(java.lang.Object, java.lang.reflect.Method, sun.rmi.server.MarshalInputStream);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;Lsun/rmi/server/MarshalInputStream;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.reflect.Method method
        start local 3 // sun.rmi.server.MarshalInputStream in
         0: .line 618
            aload 1 /* obj */
            instanceof sun.rmi.server.DeserializationChecker
            ifeq 2
         1: .line 619
            aload 0 /* this */
            aload 1 /* obj */
            checkcast sun.rmi.server.DeserializationChecker
            aload 2 /* method */
            aload 3 /* in */
            invokevirtual sun.rmi.server.UnicastServerRef.unmarshalParametersChecked:(Lsun/rmi/server/DeserializationChecker;Ljava/lang/reflect/Method;Lsun/rmi/server/MarshalInputStream;)[Ljava/lang/Object;
            goto 3
         2: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* method */
            aload 3 /* in */
            invokevirtual sun.rmi.server.UnicastServerRef.unmarshalParametersUnchecked:(Ljava/lang/reflect/Method;Ljava/io/ObjectInput;)[Ljava/lang/Object;
         3: .line 618
      StackMap locals:
      StackMap stack: java.lang.Object[]
            areturn
        end local 3 // sun.rmi.server.MarshalInputStream in
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.lang.Object obj
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/rmi/server/UnicastServerRef;
            0    4     1     obj  Ljava/lang/Object;
            0    4     2  method  Ljava/lang/reflect/Method;
            0    4     3      in  Lsun/rmi/server/MarshalInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
        Name  Flags
      obj     
      method  
      in      

  private java.lang.Object[] unmarshalParametersUnchecked(java.lang.reflect.Method, java.io.ObjectInput);
    descriptor: (Ljava/lang/reflect/Method;Ljava/io/ObjectInput;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // java.lang.reflect.Method method
        start local 2 // java.io.ObjectInput in
         0: .line 629
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 3 /* types */
        start local 3 // java.lang.Class[] types
         1: .line 630
            aload 3 /* types */
            arraylength
            anewarray java.lang.Object
            astore 4 /* params */
        start local 4 // java.lang.Object[] params
         2: .line 631
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 6
         4: .line 632
      StackMap locals: java.lang.Class[] java.lang.Object[] int
      StackMap stack:
            aload 4 /* params */
            iload 5 /* i */
            aload 3 /* types */
            iload 5 /* i */
            aaload
            aload 2 /* in */
            invokestatic sun.rmi.server.UnicastServerRef.unmarshalValue:(Ljava/lang/Class;Ljava/io/ObjectInput;)Ljava/lang/Object;
            aastore
         5: .line 631
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            aload 3 /* types */
            arraylength
            if_icmplt 4
        end local 5 // int i
         7: .line 634
            aload 4 /* params */
            areturn
        end local 4 // java.lang.Object[] params
        end local 3 // java.lang.Class[] types
        end local 2 // java.io.ObjectInput in
        end local 1 // java.lang.reflect.Method method
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lsun/rmi/server/UnicastServerRef;
            0    8     1  method  Ljava/lang/reflect/Method;
            0    8     2      in  Ljava/io/ObjectInput;
            1    8     3   types  [Ljava/lang/Class;
            2    8     4  params  [Ljava/lang/Object;
            3    7     5       i  I
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
        Name  Flags
      method  
      in      

  private java.lang.Object[] unmarshalParametersChecked(sun.rmi.server.DeserializationChecker, java.lang.reflect.Method, sun.rmi.server.MarshalInputStream);
    descriptor: (Lsun/rmi/server/DeserializationChecker;Ljava/lang/reflect/Method;Lsun/rmi/server/MarshalInputStream;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // sun.rmi.server.UnicastServerRef this
        start local 1 // sun.rmi.server.DeserializationChecker checker
        start local 2 // java.lang.reflect.Method method
        start local 3 // sun.rmi.server.MarshalInputStream in
         0: .line 645
            aload 0 /* this */
            getfield sun.rmi.server.UnicastServerRef.methodCallIDCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            istore 4 /* callID */
        start local 4 // int callID
         1: .line 646
            new sun.rmi.server.UnicastServerRef$MyChecker
            dup
            aload 1 /* checker */
            aload 2 /* method */
            iload 4 /* callID */
            invokespecial sun.rmi.server.UnicastServerRef$MyChecker.<init>:(Lsun/rmi/server/DeserializationChecker;Ljava/lang/reflect/Method;I)V
            astore 5 /* myChecker */
        start local 5 // sun.rmi.server.UnicastServerRef$MyChecker myChecker
         2: .line 647
            aload 3 /* in */
            aload 5 /* myChecker */
            invokevirtual sun.rmi.server.MarshalInputStream.setStreamChecker:(Lsun/rmi/server/MarshalInputStream$StreamChecker;)V
         3: .line 649
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 6 /* types */
        start local 6 // java.lang.Class[] types
         4: .line 650
            aload 6 /* types */
            arraylength
            anewarray java.lang.Object
            astore 7 /* values */
        start local 7 // java.lang.Object[] values
         5: .line 651
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         6: goto 10
         7: .line 652
      StackMap locals: sun.rmi.server.UnicastServerRef sun.rmi.server.DeserializationChecker java.lang.reflect.Method sun.rmi.server.MarshalInputStream int sun.rmi.server.UnicastServerRef$MyChecker java.lang.Class[] java.lang.Object[] int
      StackMap stack:
            aload 5 /* myChecker */
            iload 8 /* i */
            invokevirtual sun.rmi.server.UnicastServerRef$MyChecker.setIndex:(I)V
         8: .line 653
            aload 7 /* values */
            iload 8 /* i */
            aload 6 /* types */
            iload 8 /* i */
            aaload
            aload 3 /* in */
            invokestatic sun.rmi.server.UnicastServerRef.unmarshalValue:(Ljava/lang/Class;Ljava/io/ObjectInput;)Ljava/lang/Object;
            aastore
         9: .line 651
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 8 /* i */
            aload 6 /* types */
            arraylength
            if_icmplt 7
        end local 8 // int i
        11: .line 655
            aload 5 /* myChecker */
            iload 4 /* callID */
            invokevirtual sun.rmi.server.UnicastServerRef$MyChecker.end:(I)V
        12: .line 656
            aload 7 /* values */
            astore 10
        13: .line 658
            aload 3 /* in */
            aconst_null
            invokevirtual sun.rmi.server.MarshalInputStream.setStreamChecker:(Lsun/rmi/server/MarshalInputStream$StreamChecker;)V
        14: .line 656
            aload 10
            areturn
        end local 7 // java.lang.Object[] values
        end local 6 // java.lang.Class[] types
        15: .line 657
      StackMap locals: sun.rmi.server.UnicastServerRef sun.rmi.server.DeserializationChecker java.lang.reflect.Method sun.rmi.server.MarshalInputStream int sun.rmi.server.UnicastServerRef$MyChecker
      StackMap stack: java.lang.Throwable
            astore 9
        16: .line 658
            aload 3 /* in */
            aconst_null
            invokevirtual sun.rmi.server.MarshalInputStream.setStreamChecker:(Lsun/rmi/server/MarshalInputStream$StreamChecker;)V
        17: .line 659
            aload 9
            athrow
        end local 5 // sun.rmi.server.UnicastServerRef$MyChecker myChecker
        end local 4 // int callID
        end local 3 // sun.rmi.server.MarshalInputStream in
        end local 2 // java.lang.reflect.Method method
        end local 1 // sun.rmi.server.DeserializationChecker checker
        end local 0 // sun.rmi.server.UnicastServerRef this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lsun/rmi/server/UnicastServerRef;
            0   18     1    checker  Lsun/rmi/server/DeserializationChecker;
            0   18     2     method  Ljava/lang/reflect/Method;
            0   18     3         in  Lsun/rmi/server/MarshalInputStream;
            1   18     4     callID  I
            2   18     5  myChecker  Lsun/rmi/server/UnicastServerRef$MyChecker;
            4   15     6      types  [Ljava/lang/Class;
            5   15     7     values  [Ljava/lang/Object;
            6   11     8          i  I
      Exception table:
        from    to  target  type
           3    13      15  any
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
         Name  Flags
      checker  
      method   
      in       
}
SourceFile: "UnicastServerRef.java"
NestMembers:
  sun.rmi.server.UnicastServerRef$1  sun.rmi.server.UnicastServerRef$HashToMethod_Maps  sun.rmi.server.UnicastServerRef$HashToMethod_Maps$1  sun.rmi.server.UnicastServerRef$MyChecker
InnerClasses:
  abstract StreamChecker = sun.rmi.server.MarshalInputStream$StreamChecker of sun.rmi.server.MarshalInputStream
  sun.rmi.server.UnicastServerRef$1
  private HashToMethod_Maps = sun.rmi.server.UnicastServerRef$HashToMethod_Maps of sun.rmi.server.UnicastServerRef
  private MyChecker = sun.rmi.server.UnicastServerRef$MyChecker of sun.rmi.server.UnicastServerRef