public class java.rmi.server.RemoteObjectInvocationHandler extends java.rmi.server.RemoteObject implements java.lang.reflect.InvocationHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.rmi.server.RemoteObjectInvocationHandler
  super_class: java.rmi.server.RemoteObject
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final java.rmi.server.RemoteObjectInvocationHandler$MethodToHash_Maps methodToHash_Maps;
    descriptor: Ljava/rmi/server/RemoteObjectInvocationHandler$MethodToHash_Maps;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 65
            new java.rmi.server.RemoteObjectInvocationHandler$MethodToHash_Maps
            dup
            invokespecial java.rmi.server.RemoteObjectInvocationHandler$MethodToHash_Maps.<init>:()V
         1: .line 64
            putstatic java.rmi.server.RemoteObjectInvocationHandler.methodToHash_Maps:Ljava/rmi/server/RemoteObjectInvocationHandler$MethodToHash_Maps;
         2: .line 65
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.rmi.server.RemoteRef);
    descriptor: (Ljava/rmi/server/RemoteRef;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.rmi.server.RemoteObjectInvocationHandler this
        start local 1 // java.rmi.server.RemoteRef ref
         0: .line 76
            aload 0 /* this */
            aload 1 /* ref */
            invokespecial java.rmi.server.RemoteObject.<init>:(Ljava/rmi/server/RemoteRef;)V
         1: .line 77
            aload 1 /* ref */
            ifnonnull 3
         2: .line 78
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         3: .line 80
      StackMap locals: java.rmi.server.RemoteObjectInvocationHandler java.rmi.server.RemoteRef
      StackMap stack:
            return
        end local 1 // java.rmi.server.RemoteRef ref
        end local 0 // java.rmi.server.RemoteObjectInvocationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/rmi/server/RemoteObjectInvocationHandler;
            0    4     1   ref  Ljava/rmi/server/RemoteRef;
    MethodParameters:
      Name  Flags
      ref   

  public java.lang.Object invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.rmi.server.RemoteObjectInvocationHandler this
        start local 1 // java.lang.Object proxy
        start local 2 // java.lang.reflect.Method method
        start local 3 // java.lang.Object[] args
         0: .line 149
            aload 1 /* proxy */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifne 2
         1: .line 150
            new java.lang.IllegalArgumentException
            dup
            ldc "not a proxy"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 153
      StackMap locals:
      StackMap stack:
            aload 1 /* proxy */
            invokestatic java.lang.reflect.Proxy.getInvocationHandler:(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
            aload 0 /* this */
            if_acmpeq 4
         3: .line 154
            new java.lang.IllegalArgumentException
            dup
            ldc "handler mismatch"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 157
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            ldc Ljava/lang/Object;
            if_acmpne 6
         5: .line 158
            aload 0 /* this */
            aload 1 /* proxy */
            aload 2 /* method */
            aload 3 /* args */
            invokevirtual java.rmi.server.RemoteObjectInvocationHandler.invokeObjectMethod:(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         6: .line 159
      StackMap locals:
      StackMap stack:
            ldc "finalize"
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getParameterCount:()I
            ifne 8
         7: .line 160
            aconst_null
            areturn
         8: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* proxy */
            aload 2 /* method */
            aload 3 /* args */
            invokevirtual java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod:(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.lang.Object proxy
        end local 0 // java.rmi.server.RemoteObjectInvocationHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljava/rmi/server/RemoteObjectInvocationHandler;
            0    9     1   proxy  Ljava/lang/Object;
            0    9     2  method  Ljava/lang/reflect/Method;
            0    9     3    args  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
        Name  Flags
      proxy   
      method  
      args    

  private java.lang.Object invokeObjectMethod(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // java.rmi.server.RemoteObjectInvocationHandler this
        start local 1 // java.lang.Object proxy
        start local 2 // java.lang.reflect.Method method
        start local 3 // java.lang.Object[] args
         0: .line 173
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         1: .line 175
            aload 4 /* name */
            ldc "hashCode"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 176
            aload 0 /* this */
            invokevirtual java.rmi.server.RemoteObjectInvocationHandler.hashCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         3: .line 178
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* name */
            ldc "equals"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         4: .line 179
            aload 3 /* args */
            iconst_0
            aaload
            astore 5 /* obj */
        start local 5 // java.lang.Object obj
         5: .line 182
            aload 1 /* proxy */
            aload 5 /* obj */
            if_acmpeq 12
         6: .line 183
            aload 5 /* obj */
            ifnull 11
         7: .line 184
            aload 5 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifeq 11
         8: .line 185
            aload 5 /* obj */
            invokestatic java.lang.reflect.Proxy.getInvocationHandler:(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
            dup
            astore 6 /* hdlr */
        start local 6 // java.lang.reflect.InvocationHandler hdlr
         9: instanceof java.rmi.server.RemoteObjectInvocationHandler
            ifeq 11
        10: .line 186
            aload 0 /* this */
            aload 6 /* hdlr */
            invokevirtual java.rmi.server.RemoteObjectInvocationHandler.equals:(Ljava/lang/Object;)Z
            ifne 12
        end local 6 // java.lang.reflect.InvocationHandler hdlr
        11: .line 181
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      StackMap locals:
      StackMap stack:
        12: iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 5 // java.lang.Object obj
        13: .line 188
      StackMap locals:
      StackMap stack:
            aload 4 /* name */
            ldc "toString"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 189
            aload 0 /* this */
            aload 1 /* proxy */
            invokevirtual java.rmi.server.RemoteObjectInvocationHandler.proxyToString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        15: .line 192
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        16: .line 193
            new java.lang.StringBuilder
            dup
            ldc "unexpected Object method: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 192
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String name
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.lang.Object proxy
        end local 0 // java.rmi.server.RemoteObjectInvocationHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Ljava/rmi/server/RemoteObjectInvocationHandler;
            0   18     1   proxy  Ljava/lang/Object;
            0   18     2  method  Ljava/lang/reflect/Method;
            0   18     3    args  [Ljava/lang/Object;
            1   18     4    name  Ljava/lang/String;
            5   13     5     obj  Ljava/lang/Object;
            9   11     6    hdlr  Ljava/lang/reflect/InvocationHandler;
    MethodParameters:
        Name  Flags
      proxy   
      method  
      args    

  private java.lang.Object invokeRemoteMethod(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // java.rmi.server.RemoteObjectInvocationHandler this
        start local 1 // java.lang.Object proxy
        start local 2 // java.lang.reflect.Method method
        start local 3 // java.lang.Object[] args
         0: .line 206
            aload 1 /* proxy */
            instanceof java.rmi.Remote
            ifne 4
         1: .line 207
            new java.lang.IllegalArgumentException
            dup
         2: .line 208
            ldc "proxy not Remote instance"
         3: .line 207
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 212
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            astore 4 /* decl */
        start local 4 // java.lang.Class decl
         5: .line 213
            ldc Ljava/rmi/Remote;
            aload 4 /* decl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 7
         6: .line 214
            new java.rmi.RemoteException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Method is not Remote: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* decl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "::"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.rmi.RemoteException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 217
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield java.rmi.server.RemoteObjectInvocationHandler.ref:Ljava/rmi/server/RemoteRef;
            aload 1 /* proxy */
            checkcast java.rmi.Remote
            aload 2 /* method */
            aload 3 /* args */
         8: .line 218
            aload 2 /* method */
            invokestatic java.rmi.server.RemoteObjectInvocationHandler.getMethodHash:(Ljava/lang/reflect/Method;)J
         9: .line 217
            invokeinterface java.rmi.server.RemoteRef.invoke:(Ljava/rmi/Remote;Ljava/lang/reflect/Method;[Ljava/lang/Object;J)Ljava/lang/Object;
        10: areturn
        end local 4 // java.lang.Class decl
        11: .line 219
      StackMap locals: java.rmi.server.RemoteObjectInvocationHandler java.lang.Object java.lang.reflect.Method java.lang.Object[]
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        12: .line 220
            aload 4 /* e */
            instanceof java.lang.RuntimeException
            ifne 29
        13: .line 221
            aload 1 /* proxy */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
        14: .line 223
            aload 5 /* cl */
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
        15: .line 224
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
        16: .line 223
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 2 /* method */
        17: .line 225
            goto 21
      StackMap locals: java.rmi.server.RemoteObjectInvocationHandler java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.Exception java.lang.Class
      StackMap stack: java.lang.NoSuchMethodException
        18: astore 6 /* nsme */
        start local 6 // java.lang.NoSuchMethodException nsme
        19: .line 227
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            aload 6 /* nsme */
            invokevirtual java.lang.IllegalArgumentException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        20: .line 226
            checkcast java.lang.IllegalArgumentException
            athrow
        end local 6 // java.lang.NoSuchMethodException nsme
        21: .line 229
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 6 /* thrownType */
        start local 6 // java.lang.Class thrownType
        22: .line 230
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getExceptionTypes:()[Ljava/lang/Class;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 27
      StackMap locals: java.rmi.server.RemoteObjectInvocationHandler java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.Exception java.lang.Class java.lang.Class top int int java.lang.Class[]
      StackMap stack:
        23: aload 10
            iload 8
            aaload
            astore 7 /* declaredType */
        start local 7 // java.lang.Class declaredType
        24: .line 231
            aload 7 /* declaredType */
            aload 6 /* thrownType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 26
        25: .line 232
            aload 4 /* e */
            athrow
        end local 7 // java.lang.Class declaredType
        26: .line 230
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        27: iload 8
            iload 9
            if_icmplt 23
        28: .line 235
            new java.rmi.UnexpectedException
            dup
            ldc "unexpected exception"
            aload 4 /* e */
            invokespecial java.rmi.UnexpectedException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            astore 4 /* e */
        end local 6 // java.lang.Class thrownType
        end local 5 // java.lang.Class cl
        29: .line 237
      StackMap locals: java.rmi.server.RemoteObjectInvocationHandler java.lang.Object java.lang.reflect.Method java.lang.Object[] java.lang.Exception
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.lang.Object proxy
        end local 0 // java.rmi.server.RemoteObjectInvocationHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Ljava/rmi/server/RemoteObjectInvocationHandler;
            0   30     1         proxy  Ljava/lang/Object;
            0   30     2        method  Ljava/lang/reflect/Method;
            0   30     3          args  [Ljava/lang/Object;
            5   11     4          decl  Ljava/lang/Class<*>;
           12   30     4             e  Ljava/lang/Exception;
           14   29     5            cl  Ljava/lang/Class<*>;
           19   21     6          nsme  Ljava/lang/NoSuchMethodException;
           22   29     6    thrownType  Ljava/lang/Class<*>;
           24   26     7  declaredType  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           0    10      11  Class java.lang.Exception
          14    17      18  Class java.lang.NoSuchMethodException
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      proxy   
      method  
      args    

  private java.lang.String proxyToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.rmi.server.RemoteObjectInvocationHandler this
        start local 1 // java.lang.Object proxy
         0: .line 246
            aload 1 /* proxy */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            astore 2 /* interfaces */
        start local 2 // java.lang.Class[] interfaces
         1: .line 247
            aload 2 /* interfaces */
            arraylength
            ifne 3
         2: .line 248
            new java.lang.StringBuilder
            dup
            ldc "Proxy["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            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;
            areturn
         3: .line 250
      StackMap locals: java.lang.Class[]
      StackMap stack:
            aload 2 /* interfaces */
            iconst_0
            aaload
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* iface */
        start local 3 // java.lang.String iface
         4: .line 251
            aload 3 /* iface */
            ldc "java.rmi.Remote"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            aload 2 /* interfaces */
            arraylength
            iconst_1
            if_icmple 6
         5: .line 252
            aload 2 /* interfaces */
            iconst_1
            aaload
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* iface */
         6: .line 254
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* iface */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 4 /* dot */
        start local 4 // int dot
         7: .line 255
            iload 4 /* dot */
            iflt 9
         8: .line 256
            aload 3 /* iface */
            iload 4 /* dot */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* iface */
         9: .line 258
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Proxy["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* iface */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            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;
            areturn
        end local 4 // int dot
        end local 3 // java.lang.String iface
        end local 2 // java.lang.Class[] interfaces
        end local 1 // java.lang.Object proxy
        end local 0 // java.rmi.server.RemoteObjectInvocationHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljava/rmi/server/RemoteObjectInvocationHandler;
            0   10     1       proxy  Ljava/lang/Object;
            1   10     2  interfaces  [Ljava/lang/Class;
            4   10     3       iface  Ljava/lang/String;
            7   10     4         dot  I
    MethodParameters:
       Name  Flags
      proxy  

  private void readObjectNoData();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.rmi.server.RemoteObjectInvocationHandler this
         0: .line 265
            new java.io.InvalidObjectException
            dup
            new java.lang.StringBuilder
            dup
            ldc "no data in stream; class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 266
            aload 0 /* this */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 265
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.rmi.server.RemoteObjectInvocationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/rmi/server/RemoteObjectInvocationHandler;
    Exceptions:
      throws java.io.InvalidObjectException

  private static long getMethodHash(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.reflect.Method method
         0: .line 280
            getstatic java.rmi.server.RemoteObjectInvocationHandler.methodToHash_Maps:Ljava/rmi/server/RemoteObjectInvocationHandler$MethodToHash_Maps;
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.rmi.server.RemoteObjectInvocationHandler$MethodToHash_Maps.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.util.Map
            aload 0 /* method */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lreturn
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  method  Ljava/lang/reflect/Method;
    MethodParameters:
        Name  Flags
      method  
}
SourceFile: "RemoteObjectInvocationHandler.java"
NestMembers:
  java.rmi.server.RemoteObjectInvocationHandler$MethodToHash_Maps  java.rmi.server.RemoteObjectInvocationHandler$MethodToHash_Maps$1
InnerClasses:
  private MethodToHash_Maps = java.rmi.server.RemoteObjectInvocationHandler$MethodToHash_Maps of java.rmi.server.RemoteObjectInvocationHandler