public class org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl extends org.jruby.javasupport.proxy.JavaProxyReflectionObject implements org.jruby.javasupport.proxy.JavaProxyMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl
  super_class: org.jruby.javasupport.proxy.JavaProxyReflectionObject
{
  private final java.lang.reflect.Method method;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.reflect.Method superMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class[] parameterTypes;
    descriptor: [Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.jruby.javasupport.proxy.JavaProxyClass proxyClass;
    descriptor: Lorg/jruby/javasupport/proxy/JavaProxyClass;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.Object state;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  public static org.jruby.RubyClass createJavaProxyMethodClass(org.jruby.Ruby, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyModule Java
         0: .line 254
            aload 1 /* Java */
            ldc "JavaProxyMethod"
         1: .line 255
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            getstatic org.jruby.runtime.ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         2: .line 254
            invokevirtual org.jruby.RubyModule.defineClassUnder:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 2 /* JavaProxyMethod */
        start local 2 // org.jruby.RubyClass JavaProxyMethod
         3: .line 257
            aload 0 /* runtime */
            aload 2 /* JavaProxyMethod */
            invokestatic org.jruby.javasupport.proxy.JavaProxyReflectionObject.registerRubyMethods:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         4: .line 258
            aload 2 /* JavaProxyMethod */
            ldc Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         5: .line 259
            aload 2 /* JavaProxyMethod */
            areturn
        end local 2 // org.jruby.RubyClass JavaProxyMethod
        end local 1 // org.jruby.RubyModule Java
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0          runtime  Lorg/jruby/Ruby;
            0    6     1             Java  Lorg/jruby/RubyModule;
            3    6     2  JavaProxyMethod  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      Java     

  public void <init>(org.jruby.Ruby, org.jruby.javasupport.proxy.JavaProxyClass, java.lang.reflect.Method, java.lang.reflect.Method);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/javasupport/proxy/JavaProxyClass;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.javasupport.proxy.JavaProxyClass clazz
        start local 3 // java.lang.reflect.Method method
        start local 4 // java.lang.reflect.Method superMethod
         0: .line 264
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokestatic org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getJavaProxyMethod:(Lorg/jruby/Ruby;)Lorg/jruby/RubyClass;
            invokespecial org.jruby.javasupport.proxy.JavaProxyReflectionObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 265
            aload 0 /* this */
            aload 3 /* method */
            putfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
         2: .line 266
            aload 0 /* this */
            aload 3 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            putfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.parameterTypes:[Ljava/lang/Class;
         3: .line 267
            aload 0 /* this */
            aload 4 /* superMethod */
            putfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.superMethod:Ljava/lang/reflect/Method;
         4: .line 268
            aload 0 /* this */
            aload 2 /* clazz */
            putfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.proxyClass:Lorg/jruby/javasupport/proxy/JavaProxyClass;
         5: .line 269
            return
        end local 4 // java.lang.reflect.Method superMethod
        end local 3 // java.lang.reflect.Method method
        end local 2 // org.jruby.javasupport.proxy.JavaProxyClass clazz
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
            0    6     1      runtime  Lorg/jruby/Ruby;
            0    6     2        clazz  Lorg/jruby/javasupport/proxy/JavaProxyClass;
            0    6     3       method  Ljava/lang/reflect/Method;
            0    6     4  superMethod  Ljava/lang/reflect/Method;
    MethodParameters:
             Name  Flags
      runtime      
      clazz        final
      method       final
      superMethod  final

  private static org.jruby.RubyClass getJavaProxyMethod(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyClass;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 272
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getJavaSupport:()Lorg/jruby/javasupport/JavaSupport;
            invokevirtual org.jruby.javasupport.JavaSupport.getJavaModule:()Lorg/jruby/RubyModule;
            ldc "JavaProxyMethod"
            invokevirtual org.jruby.RubyModule.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
            areturn
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  final

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
        start local 1 // java.lang.Object other
         0: .line 277
            aload 1 /* other */
            instanceof org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl
            ifne 1
            iconst_0
            ireturn
         1: .line 278
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl
            astore 2 /* that */
        start local 2 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl that
         2: .line 279
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            aload 2 /* that */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            if_acmpeq 3
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            aload 2 /* that */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.equals:(Ljava/lang/Object;)Z
            ifne 3
            iconst_0
            ireturn
      StackMap locals: org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl
      StackMap stack:
         3: iconst_1
            ireturn
        end local 2 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl that
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
            0    4     1  other  Ljava/lang/Object;
            2    4     2   that  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 284
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.hashCode:()I
            ireturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;

  public java.lang.reflect.Method getMethod();
    descriptor: ()Ljava/lang/reflect/Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 288
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;

  public java.lang.reflect.Method getSuperMethod();
    descriptor: ()Ljava/lang/reflect/Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 292
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.superMethod:Ljava/lang/reflect/Method;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;

  public int getModifiers();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 296
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            ireturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 300
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;

  public final java.lang.Class<?>[] getExceptionTypes();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 304
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getExceptionTypes:()[Ljava/lang/Class;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
    Signature: ()[Ljava/lang/Class<*>;

  public final java.lang.Class<?>[] getParameterTypes();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 308
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.parameterTypes:[Ljava/lang/Class;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
    Signature: ()[Ljava/lang/Class<*>;

  public final boolean isVarArgs();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 312
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.isVarArgs:()Z
            ireturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;

  public boolean hasSuperImplementation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 316
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.superMethod:Ljava/lang/reflect/Method;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;

  public java.lang.Object invoke(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
        start local 1 // java.lang.Object proxy
        start local 2 // java.lang.Object[] args
         0: .line 322
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.hasSuperImplementation:()Z
            ifne 1
            new java.lang.NoSuchMethodException
            dup
            invokespecial java.lang.NoSuchMethodException.<init>:()V
            athrow
         1: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.superMethod:Ljava/lang/reflect/Method;
            aload 1 /* proxy */
            aload 2 /* args */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.Object proxy
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
            0    2     1  proxy  Ljava/lang/Object;
            0    2     2   args  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
    MethodParameters:
       Name  Flags
      proxy  
      args   

  public java.lang.Object getState();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 328
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.state:Ljava/lang/Object;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;

  public void setState(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
        start local 1 // java.lang.Object state
         0: .line 332
            aload 0 /* this */
            aload 1 /* state */
            putfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.state:Ljava/lang/Object;
         1: .line 333
            return
        end local 1 // java.lang.Object state
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
            0    2     1  state  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      state  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 337
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;

  public java.lang.Object defaultResult();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 342
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            astore 1 /* returnType */
        start local 1 // java.lang.Class returnType
         1: .line 344
            aload 1 /* returnType */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 2
            aconst_null
            areturn
         2: .line 345
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* returnType */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 3
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            areturn
         3: .line 346
      StackMap locals:
      StackMap stack:
            aload 1 /* returnType */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 4
            iconst_0
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            areturn
         4: .line 347
      StackMap locals:
      StackMap stack:
            aload 1 /* returnType */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 5
            iconst_0
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
         5: .line 348
      StackMap locals:
      StackMap stack:
            aload 1 /* returnType */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 6
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         6: .line 349
      StackMap locals:
      StackMap stack:
            aload 1 /* returnType */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 7
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
         7: .line 350
      StackMap locals:
      StackMap stack:
            aload 1 /* returnType */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 8
            new java.lang.Float
            dup
            fconst_0
            invokespecial java.lang.Float.<init>:(F)V
            areturn
         8: .line 351
      StackMap locals:
      StackMap stack:
            aload 1 /* returnType */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 9
            new java.lang.Double
            dup
            dconst_0
            invokespecial java.lang.Double.<init>:(D)V
            areturn
         9: .line 353
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Class returnType
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
            1   10     1  returnType  Ljava/lang/Class;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final boolean matches(java.lang.String, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class[] parameterTypes
         0: .line 357
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.parameterTypes:[Ljava/lang/Class;
            aload 2 /* parameterTypes */
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // java.lang.Class[] parameterTypes
        end local 1 // java.lang.String name
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
            0    2     1            name  Ljava/lang/String;
            0    2     2  parameterTypes  [Ljava/lang/Class;
    Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;)Z
    MethodParameters:
                Name  Flags
      name            final
      parameterTypes  final

  public final java.lang.Class<?> getReturnType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 361
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
    Signature: ()Ljava/lang/Class<*>;

  public org.jruby.RubyObject name();
    descriptor: ()Lorg/jruby/RubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 365
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getName:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;

  public final org.jruby.javasupport.proxy.JavaProxyClass getDeclaringClass();
    descriptor: ()Lorg/jruby/javasupport/proxy/JavaProxyClass;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 370
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.proxyClass:Lorg/jruby/javasupport/proxy/JavaProxyClass;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"declaring_class"})

  public org.jruby.RubyArray argument_types();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 375
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getParameterTypes:()[Ljava/lang/Class;
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.toRubyArray:([Ljava/lang/Class;)Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  public org.jruby.runtime.builtin.IRubyObject super_p();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 380
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.hasSuperImplementation:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         2: areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"super?"})

  public org.jruby.RubyFixnum arity();
    descriptor: ()Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 385
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getArity:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  public org.jruby.RubyString inspect();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 391
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* str */
        start local 1 // java.lang.StringBuilder str
         1: .line 392
            aload 1 /* str */
            ldc "#<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 393
            aload 1 /* str */
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getDeclaringClass:()Lorg/jruby/javasupport/proxy/JavaProxyClass;
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass.nameOnInspection:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 394
            aload 1 /* str */
            aload 0 /* this */
            invokestatic org.jruby.javasupport.JavaCallable.inspectParameterTypes:(Ljava/lang/StringBuilder;Lorg/jruby/javasupport/ParameterTypes;)Ljava/lang/StringBuilder;
            pop
         4: .line 395
            aload 1 /* str */
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 396
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* str */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/CharSequence;)Lorg/jruby/RubyString;
            areturn
        end local 1 // java.lang.StringBuilder str
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
            1    6     1   str  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  public org.jruby.runtime.builtin.IRubyObject do_invoke(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 401
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 402
            aload 1 /* args */
            arraylength
            iconst_1
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getArity:()I
            iadd
            if_icmpeq 3
         2: .line 403
            aload 2 /* runtime */
            aload 1 /* args */
            arraylength
            iconst_1
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getArity:()I
            iadd
            invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 406
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 1 /* args */
            iconst_0
            aaload
            astore 3 /* invokee */
        start local 3 // org.jruby.runtime.builtin.IRubyObject invokee
         4: .line 407
            aload 3 /* invokee */
            instanceof org.jruby.javasupport.JavaObject
            ifne 6
         5: .line 408
            aload 2 /* runtime */
            ldc "invokee not a java object"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 411
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* invokee */
            checkcast org.jruby.javasupport.JavaObject
            invokevirtual org.jruby.javasupport.JavaObject.getValue:()Ljava/lang/Object;
            astore 4 /* receiver_value */
        start local 4 // java.lang.Object receiver_value
         7: .line 413
            aload 1 /* args */
            arraylength
            iconst_1
            isub
            anewarray java.lang.Object
            astore 5 /* arguments */
        start local 5 // java.lang.Object[] arguments
         8: .line 415
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getParameterTypes:()[Ljava/lang/Class;
            astore 6 /* parameterTypes */
        start local 6 // java.lang.Class[] parameterTypes
         9: .line 416
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        10: goto 13
        11: .line 417
      StackMap locals: org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject java.lang.Object java.lang.Object[] java.lang.Class[] int
      StackMap stack:
            aload 5 /* arguments */
            iload 7 /* i */
            aload 1 /* args */
            iload 7 /* i */
            iconst_1
            iadd
            aaload
            aload 6 /* parameterTypes */
            iload 7 /* i */
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            aastore
        12: .line 416
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* i */
            aload 5 /* arguments */
            arraylength
            if_icmplt 11
        end local 7 // int i
        14: .line 421
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.superMethod:Ljava/lang/reflect/Method;
            aload 4 /* receiver_value */
            aload 5 /* arguments */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* javaResult */
        start local 7 // java.lang.Object javaResult
        15: .line 422
            aload 2 /* runtime */
            aload 7 /* javaResult */
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getReturnType:()Ljava/lang/Class;
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToRuby:(Lorg/jruby/Ruby;Ljava/lang/Object;Ljava/lang/Class;)Lorg/jruby/runtime/builtin/IRubyObject;
        16: areturn
        end local 7 // java.lang.Object javaResult
        17: .line 424
      StackMap locals: org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject java.lang.Object java.lang.Object[] java.lang.Class[]
      StackMap stack: java.lang.IllegalArgumentException
            pop
        18: .line 425
            aload 2 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.argument_types:()Lorg/jruby/RubyArray;
            invokevirtual org.jruby.RubyArray.inspect:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        19: .line 427
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 7 /* ex */
        start local 7 // java.lang.IllegalAccessException ex
        20: .line 428
            aload 2 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "illegal access on '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.superMethod:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getName:()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;
        21: .line 429
            aload 7 /* ex */
            invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 428
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 7 // java.lang.IllegalAccessException ex
        23: .line 431
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 7 /* ex */
        start local 7 // java.lang.reflect.InvocationTargetException ex
        24: .line 432
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getDebug:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 25
            aload 7 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
        25: .line 434
      StackMap locals: java.lang.reflect.InvocationTargetException
      StackMap stack:
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getJavaSupport:()Lorg/jruby/javasupport/JavaSupport;
            aload 7 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.superMethod:Ljava/lang/reflect/Method;
            invokevirtual org.jruby.javasupport.JavaSupport.handleNativeException:(Ljava/lang/Throwable;Ljava/lang/reflect/Member;)V
        26: .line 435
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // java.lang.reflect.InvocationTargetException ex
        end local 6 // java.lang.Class[] parameterTypes
        end local 5 // java.lang.Object[] arguments
        end local 4 // java.lang.Object receiver_value
        end local 3 // org.jruby.runtime.builtin.IRubyObject invokee
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   27     0            this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;
            0   27     1            args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   27     2         runtime  Lorg/jruby/Ruby;
            4   27     3         invokee  Lorg/jruby/runtime/builtin/IRubyObject;
            7   27     4  receiver_value  Ljava/lang/Object;
            8   27     5       arguments  [Ljava/lang/Object;
            9   27     6  parameterTypes  [Ljava/lang/Class;
           10   14     7               i  I
           15   17     7      javaResult  Ljava/lang/Object;
           20   23     7              ex  Ljava/lang/IllegalAccessException;
           24   27     7              ex  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
          14    16      17  Class java.lang.IllegalArgumentException
          14    16      19  Class java.lang.IllegalAccessException
          14    16      23  Class java.lang.reflect.InvocationTargetException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"invoke"}, rest = true)
    MethodParameters:
      Name  Flags
      args  final

  public final int getArity();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
         0: .line 440
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            ireturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyClass$ProxyMethodImpl;

  public org.jruby.runtime.builtin.IRubyObject inspect();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl.inspect:()Lorg/jruby/RubyString;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JavaProxyClass.java"
NestHost: org.jruby.javasupport.proxy.JavaProxyClass
InnerClasses:
  public ProxyMethodImpl = org.jruby.javasupport.proxy.JavaProxyClass$ProxyMethodImpl of org.jruby.javasupport.proxy.JavaProxyClass
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"Java::JavaProxyMethod"})