public class org.jruby.javasupport.proxy.JavaProxyConstructor extends org.jruby.javasupport.proxy.JavaProxyReflectionObject implements org.jruby.javasupport.ParameterTypes
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.javasupport.proxy.JavaProxyConstructor
  super_class: org.jruby.javasupport.proxy.JavaProxyReflectionObject
{
  private final java.lang.reflect.Constructor<?> proxyConstructor;
    descriptor: Ljava/lang/reflect/Constructor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/reflect/Constructor<*>;

  private final java.lang.Class<?>[] actualParameterTypes;
    descriptor: [Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: [Ljava/lang/Class<*>;

  private final boolean actualVarArgs;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public static org.jruby.RubyClass createJavaProxyConstructorClass(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 70
            aload 1 /* Java */
         1: .line 71
            ldc "JavaProxyConstructor"
         2: .line 72
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            getstatic org.jruby.runtime.ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         3: .line 70
            invokevirtual org.jruby.RubyModule.defineClassUnder:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 2 /* JavaProxyConstructor */
        start local 2 // org.jruby.RubyClass JavaProxyConstructor
         4: .line 75
            aload 0 /* runtime */
            aload 2 /* JavaProxyConstructor */
            invokestatic org.jruby.javasupport.proxy.JavaProxyReflectionObject.registerRubyMethods:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         5: .line 76
            aload 2 /* JavaProxyConstructor */
            ldc Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         6: .line 77
            aload 2 /* JavaProxyConstructor */
            areturn
        end local 2 // org.jruby.RubyClass JavaProxyConstructor
        end local 1 // org.jruby.RubyModule Java
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    7     0               runtime  Lorg/jruby/Ruby;
            0    7     1                  Java  Lorg/jruby/RubyModule;
            4    7     2  JavaProxyConstructor  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      Java     

  void <init>(org.jruby.Ruby, org.jruby.javasupport.proxy.JavaProxyClass, java.lang.reflect.Constructor<?>);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/javasupport/proxy/JavaProxyClass;Ljava/lang/reflect/Constructor;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.javasupport.proxy.JavaProxyClass proxyClass
        start local 3 // java.lang.reflect.Constructor constructor
         0: .line 82
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getJavaSupport:()Lorg/jruby/javasupport/JavaSupport;
            invokevirtual org.jruby.javasupport.JavaSupport.getJavaProxyConstructorClass:()Lorg/jruby/RubyClass;
            invokespecial org.jruby.javasupport.proxy.JavaProxyReflectionObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 83
            aload 0 /* this */
            aload 2 /* proxyClass */
            putfield org.jruby.javasupport.proxy.JavaProxyConstructor.declaringProxyClass:Lorg/jruby/javasupport/proxy/JavaProxyClass;
         2: .line 84
            aload 0 /* this */
            aload 3 /* constructor */
            putfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
         3: .line 85
            aload 3 /* constructor */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            astore 4 /* parameterTypes */
        start local 4 // java.lang.Class[] parameterTypes
         4: .line 87
            aload 0 /* this */
            aload 4 /* parameterTypes */
            aload 4 /* parameterTypes */
            arraylength
            iconst_1
            isub
            invokestatic org.jruby.util.ArraySupport.newCopy:([Ljava/lang/Class;I)[Ljava/lang/Class;
            putfield org.jruby.javasupport.proxy.JavaProxyConstructor.actualParameterTypes:[Ljava/lang/Class;
         5: .line 88
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
            invokestatic org.jruby.javasupport.proxy.JavaProxyClassFactory.isVarArgs:(Ljava/lang/reflect/Constructor;)Z
            putfield org.jruby.javasupport.proxy.JavaProxyConstructor.actualVarArgs:Z
         6: .line 89
            return
        end local 4 // java.lang.Class[] parameterTypes
        end local 3 // java.lang.reflect.Constructor constructor
        end local 2 // org.jruby.javasupport.proxy.JavaProxyClass proxyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            0    7     1         runtime  Lorg/jruby/Ruby;
            0    7     2      proxyClass  Lorg/jruby/javasupport/proxy/JavaProxyClass;
            0    7     3     constructor  Ljava/lang/reflect/Constructor<*>;
            4    7     4  parameterTypes  [Ljava/lang/Class;
    Signature: (Lorg/jruby/Ruby;Lorg/jruby/javasupport/proxy/JavaProxyClass;Ljava/lang/reflect/Constructor<*>;)V
    MethodParameters:
             Name  Flags
      runtime      
      proxyClass   
      constructor  

  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.JavaProxyConstructor this
         0: .line 92
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyConstructor.actualParameterTypes:[Ljava/lang/Class;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
    Signature: ()[Ljava/lang/Class<*>;

  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.JavaProxyConstructor this
         0: .line 96
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
            invokevirtual java.lang.reflect.Constructor.getExceptionTypes:()[Ljava/lang/Class;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
    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.JavaProxyConstructor this
         0: .line 99
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyConstructor.actualVarArgs:Z
            ireturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;

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

  public final java.lang.Object newInstance(java.lang.Object[], org.jruby.javasupport.proxy.JavaProxyInvocationHandler);
    descriptor: ([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
        start local 1 // java.lang.Object[] args
        start local 2 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
         0: .line 109
            aload 1 /* args */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         1: .line 110
            iload 3 /* len */
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyConstructor.actualParameterTypes:[Ljava/lang/Class;
            arraylength
            if_icmpeq 3
         2: .line 111
            new java.lang.IllegalArgumentException
            dup
            ldc "wrong number of parameters"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 113
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iload 3 /* len */
            iconst_1
            iadd
            invokestatic org.jruby.util.ArraySupport.newCopy:([Ljava/lang/Object;I)[Ljava/lang/Object;
            aload 2 /* handler */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstanceImpl:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
            areturn
        end local 3 // int len
        end local 2 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
        end local 1 // java.lang.Object[] args
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            0    4     1     args  [Ljava/lang/Object;
            0    4     2  handler  Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
            1    4     3      len  I
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
    MethodParameters:
         Name  Flags
      args     
      handler  

  final java.lang.Object newInstanceImpl(java.lang.Object[], org.jruby.javasupport.proxy.JavaProxyInvocationHandler);
    descriptor: ([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
        start local 1 // java.lang.Object[] argsPlus1
        start local 2 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
         0: .line 118
            aload 1 /* argsPlus1 */
            aload 1 /* argsPlus1 */
            arraylength
            iconst_1
            isub
            aload 2 /* handler */
            aastore
         1: .line 119
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
            aload 1 /* argsPlus1 */
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
        end local 1 // java.lang.Object[] argsPlus1
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            0    2     1  argsPlus1  [Ljava/lang/Object;
            0    2     2    handler  Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
    MethodParameters:
           Name  Flags
      argsPlus1  
      handler    

  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.JavaProxyConstructor this
         0: .line 124
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getArity:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  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.JavaProxyConstructor this
         0: .line 128
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            ireturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
        start local 1 // java.lang.Object other
         0: .line 133
            aload 1 /* other */
            instanceof org.jruby.javasupport.proxy.JavaProxyConstructor
            ifeq 3
         1: .line 134
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
            aload 1 /* other */
            checkcast org.jruby.javasupport.proxy.JavaProxyConstructor
            getfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
            if_acmpne 3
         2: .line 133
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            0    4     1  other  Ljava/lang/Object;
    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.JavaProxyConstructor this
         0: .line 139
            aload 0 /* this */
            getfield org.jruby.javasupport.proxy.JavaProxyConstructor.proxyConstructor:Ljava/lang/reflect/Constructor;
            invokevirtual java.lang.reflect.Constructor.hashCode:()I
            ireturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;

  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.JavaProxyConstructor this
         0: .line 145
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* str */
        start local 1 // java.lang.StringBuilder str
         1: .line 146
            aload 1 /* str */
            ldc "#<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 147
            aload 1 /* str */
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.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;
            pop
         3: .line 148
            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 149
            aload 1 /* str */
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 150
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.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.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            1    6     1   str  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  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.JavaProxyConstructor this
         0: .line 155
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.inspect:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;

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

  public org.jruby.RubyObject new_instance2(org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // org.jruby.runtime.Block unusedBlock
         0: .line 165
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 166
            aload 3 /* runtime */
            aload 1 /* args */
            iconst_2
            iconst_2
            invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
            pop
         2: .line 168
            aload 1 /* args */
            iconst_0
            aaload
            astore 4 /* self */
        start local 4 // org.jruby.runtime.builtin.IRubyObject self
         3: .line 169
            aload 0 /* this */
            aload 1 /* args */
            iconst_1
            aaload
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.convertArguments:(Lorg/jruby/RubyArray;)[Ljava/lang/Object;
            astore 5 /* convertedArgs */
        start local 5 // java.lang.Object[] convertedArgs
         4: .line 171
            new org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler
            dup
            aload 3 /* runtime */
            aload 4 /* self */
            invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            astore 6 /* handler */
        start local 6 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
         5: .line 173
            aload 3 /* runtime */
            aload 0 /* this */
            aload 5 /* convertedArgs */
            aload 6 /* handler */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstance:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaObject.wrap:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
         6: areturn
         7: .line 175
      StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject java.lang.Object[] org.jruby.javasupport.proxy.JavaProxyInvocationHandler
      StackMap stack: java.lang.Exception
            astore 7 /* ex */
        start local 7 // java.lang.Exception ex
         8: aload 3 /* runtime */
            aload 7 /* ex */
            invokestatic org.jruby.javasupport.proxy.JavaProxyConstructor.mapInstantiationException:(Lorg/jruby/Ruby;Ljava/lang/Throwable;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 7 // java.lang.Exception ex
        end local 6 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
        end local 5 // java.lang.Object[] convertedArgs
        end local 4 // org.jruby.runtime.builtin.IRubyObject self
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block unusedBlock
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            0    9     1           args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     2    unusedBlock  Lorg/jruby/runtime/Block;
            1    9     3        runtime  Lorg/jruby/Ruby;
            3    9     4           self  Lorg/jruby/runtime/builtin/IRubyObject;
            4    9     5  convertedArgs  [Ljava/lang/Object;
            5    9     6        handler  Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
            8    9     7             ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(rest = true)
    MethodParameters:
             Name  Flags
      args         
      unusedBlock  

  public org.jruby.javasupport.JavaObject newInstance(org.jruby.runtime.builtin.IRubyObject, java.lang.Object[]);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;[Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // java.lang.Object[] args
         0: .line 179
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 181
            new org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler
            dup
            aload 3 /* runtime */
            aload 1 /* self */
            invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            astore 4 /* handler */
        start local 4 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
         2: .line 183
            aload 3 /* runtime */
            aload 0 /* this */
            aload 2 /* args */
            aload 4 /* handler */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstance:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaObject.wrap:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
         3: areturn
         4: .line 185
      StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.runtime.builtin.IRubyObject java.lang.Object[] org.jruby.Ruby org.jruby.javasupport.proxy.JavaProxyInvocationHandler
      StackMap stack: java.lang.Throwable
            astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
         5: aload 3 /* runtime */
            aload 5 /* ex */
            invokestatic org.jruby.javasupport.proxy.JavaProxyConstructor.mapInstantiationException:(Lorg/jruby/Ruby;Ljava/lang/Throwable;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 5 // java.lang.Throwable ex
        end local 4 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
        end local 3 // org.jruby.Ruby runtime
        end local 2 // java.lang.Object[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            0    6     1     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     2     args  [Ljava/lang/Object;
            1    6     3  runtime  Lorg/jruby/Ruby;
            2    6     4  handler  Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
            5    6     5       ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    Exceptions:
      throws org.jruby.exceptions.RaiseException
    MethodParameters:
      Name  Flags
      self  final
      args  

  public final org.jruby.javasupport.JavaObject newInstance(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 189
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 191
            aload 0 /* this */
            aload 2 /* args */
            iconst_1
            invokestatic org.jruby.java.invokers.RubyToJavaInvoker.convertArguments:(Lorg/jruby/javasupport/ParameterTypes;[Lorg/jruby/runtime/builtin/IRubyObject;I)[Ljava/lang/Object;
            astore 4 /* javaArgsPlus1 */
        start local 4 // java.lang.Object[] javaArgsPlus1
         2: .line 192
            new org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler
            dup
            aload 3 /* runtime */
            aload 1 /* self */
            invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            astore 5 /* handler */
        start local 5 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
         3: .line 194
            aload 3 /* runtime */
            aload 0 /* this */
            aload 4 /* javaArgsPlus1 */
            aload 5 /* handler */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstanceImpl:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaObject.wrap:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
         4: areturn
         5: .line 196
      StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby java.lang.Object[] org.jruby.javasupport.proxy.JavaProxyInvocationHandler
      StackMap stack: java.lang.Throwable
            astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
         6: aload 3 /* runtime */
            aload 6 /* ex */
            invokestatic org.jruby.javasupport.proxy.JavaProxyConstructor.mapInstantiationException:(Lorg/jruby/Ruby;Ljava/lang/Throwable;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 6 // java.lang.Throwable ex
        end local 5 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
        end local 4 // java.lang.Object[] javaArgsPlus1
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            0    7     1           self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     2           args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3        runtime  Lorg/jruby/Ruby;
            2    7     4  javaArgsPlus1  [Ljava/lang/Object;
            3    7     5        handler  Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
            6    7     6             ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable
    Exceptions:
      throws org.jruby.exceptions.RaiseException
    MethodParameters:
      Name  Flags
      self  final
      args  

  public final org.jruby.javasupport.JavaObject newInstance(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/javasupport/JavaObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 200
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 202
            aload 0 /* this */
            aload 2 /* arg0 */
            iconst_1
            invokestatic org.jruby.java.invokers.RubyToJavaInvoker.convertArguments:(Lorg/jruby/javasupport/ParameterTypes;Lorg/jruby/runtime/builtin/IRubyObject;I)[Ljava/lang/Object;
            astore 4 /* javaArgsPlus1 */
        start local 4 // java.lang.Object[] javaArgsPlus1
         2: .line 203
            new org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler
            dup
            aload 3 /* runtime */
            aload 1 /* self */
            invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            astore 5 /* handler */
        start local 5 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
         3: .line 205
            aload 3 /* runtime */
            aload 0 /* this */
            aload 4 /* javaArgsPlus1 */
            aload 5 /* handler */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstanceImpl:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaObject.wrap:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
         4: areturn
         5: .line 207
      StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby java.lang.Object[] org.jruby.javasupport.proxy.JavaProxyInvocationHandler
      StackMap stack: java.lang.Throwable
            astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
         6: aload 3 /* runtime */
            aload 6 /* ex */
            invokestatic org.jruby.javasupport.proxy.JavaProxyConstructor.mapInstantiationException:(Lorg/jruby/Ruby;Ljava/lang/Throwable;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 6 // java.lang.Throwable ex
        end local 5 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
        end local 4 // java.lang.Object[] javaArgsPlus1
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            0    7     1           self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     2           arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3        runtime  Lorg/jruby/Ruby;
            2    7     4  javaArgsPlus1  [Ljava/lang/Object;
            3    7     5        handler  Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
            6    7     6             ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable
    Exceptions:
      throws org.jruby.exceptions.RaiseException
    MethodParameters:
      Name  Flags
      self  final
      arg0  

  private static org.jruby.exceptions.RaiseException mapInstantiationException(org.jruby.Ruby, java.lang.Throwable);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/Throwable;)Lorg/jruby/exceptions/RaiseException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.Throwable e
         0: .line 211
            aload 1 /* e */
            astore 2 /* cause */
        start local 2 // java.lang.Throwable cause
         1: .line 212
            goto 3
      StackMap locals: java.lang.Throwable
      StackMap stack:
         2: aload 2 /* cause */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 2 /* cause */
      StackMap locals:
      StackMap stack:
         3: aload 2 /* cause */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            ifnonnull 2
         4: .line 214
            aload 2 /* cause */
            invokevirtual java.lang.Throwable.getLocalizedMessage:()Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         5: .line 215
            aload 3 /* msg */
            ifnonnull 6
            new java.lang.StringBuilder
            dup
            ldc "Constructor invocation failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            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;
            goto 7
      StackMap locals: java.lang.String
      StackMap stack:
         6: new java.lang.StringBuilder
            dup
            ldc "Constructor invocation failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         7: astore 3 /* msg */
         8: .line 216
            aload 0 /* runtime */
            aload 3 /* msg */
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            astore 4 /* ex */
        start local 4 // org.jruby.exceptions.RaiseException ex
         9: .line 217
            aload 4 /* ex */
            aload 1 /* e */
            invokevirtual org.jruby.exceptions.RaiseException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        10: .line 218
            aload 4 /* ex */
            athrow
        end local 4 // org.jruby.exceptions.RaiseException ex
        end local 3 // java.lang.String msg
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.Throwable e
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0  runtime  Lorg/jruby/Ruby;
            0   11     1        e  Ljava/lang/Throwable;
            1   11     2    cause  Ljava/lang/Throwable;
            5   11     3      msg  Ljava/lang/String;
            9   11     4       ex  Lorg/jruby/exceptions/RaiseException;
    MethodParameters:
         Name  Flags
      runtime  final
      e        final

  public org.jruby.RubyObject new_instance(org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // org.jruby.runtime.Block block
         0: .line 269
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 271
            aload 3 /* runtime */
            aload 1 /* args */
            iconst_1
            iconst_2
            invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
            iconst_1
            isub
            istore 4 /* last */
        start local 4 // int last
         2: .line 275
            aload 1 /* args */
            iload 4 /* last */
            aaload
            instanceof org.jruby.RubyProc
            ifeq 5
         3: .line 276
            aload 1 /* args */
            iload 4 /* last */
            aaload
            checkcast org.jruby.RubyProc
            astore 5 /* proc */
        start local 5 // org.jruby.RubyProc proc
         4: .line 277
            goto 6
        end local 5 // org.jruby.RubyProc proc
         5: .line 278
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            aload 3 /* runtime */
            getstatic org.jruby.runtime.Block$Type.PROC:Lorg/jruby/runtime/Block$Type;
            aload 2 /* block */
            invokevirtual org.jruby.Ruby.newProc:(Lorg/jruby/runtime/Block$Type;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyProc;
            astore 5 /* proc */
        start local 5 // org.jruby.RubyProc proc
         6: .line 281
      StackMap locals: org.jruby.RubyProc
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.convertArguments:(Lorg/jruby/RubyArray;)[Ljava/lang/Object;
            astore 6 /* convertedArgs */
        start local 6 // java.lang.Object[] convertedArgs
         7: .line 283
            new org.jruby.javasupport.proxy.JavaProxyConstructor$ProcInvocationHandler
            dup
            aload 3 /* runtime */
            aload 5 /* proc */
            invokespecial org.jruby.javasupport.proxy.JavaProxyConstructor$ProcInvocationHandler.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyProc;)V
            astore 7 /* handler */
        start local 7 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
         8: .line 285
            aload 3 /* runtime */
            aload 0 /* this */
            aload 6 /* convertedArgs */
            aload 7 /* handler */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.newInstance:([Ljava/lang/Object;Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;)Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaObject.wrap:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/javasupport/JavaObject;
         9: areturn
        10: .line 287
      StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.Ruby int org.jruby.RubyProc java.lang.Object[] org.jruby.javasupport.proxy.JavaProxyInvocationHandler
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        11: .line 288
            aload 3 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "Constructor invocation failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            astore 9 /* ex */
        start local 9 // org.jruby.exceptions.RaiseException ex
        12: .line 289
            aload 9 /* ex */
            aload 8 /* e */
            invokevirtual org.jruby.exceptions.RaiseException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 290
            aload 9 /* ex */
            athrow
        end local 9 // org.jruby.exceptions.RaiseException ex
        end local 8 // java.lang.Exception e
        end local 7 // org.jruby.javasupport.proxy.JavaProxyInvocationHandler handler
        end local 6 // java.lang.Object[] convertedArgs
        end local 5 // org.jruby.RubyProc proc
        end local 4 // int last
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            0   14     1           args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   14     2          block  Lorg/jruby/runtime/Block;
            1   14     3        runtime  Lorg/jruby/Ruby;
            2   14     4           last  I
            4    5     5           proc  Lorg/jruby/RubyProc;
            6   14     5           proc  Lorg/jruby/RubyProc;
            7   14     6  convertedArgs  [Ljava/lang/Object;
            8   14     7        handler  Lorg/jruby/javasupport/proxy/JavaProxyInvocationHandler;
           11   14     8              e  Ljava/lang/Exception;
           12   14     9             ex  Lorg/jruby/exceptions/RaiseException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1, optional = 1)
    MethodParameters:
       Name  Flags
      args   
      block  

  private java.lang.Object[] convertArguments(org.jruby.RubyArray);
    descriptor: (Lorg/jruby/RubyArray;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
        start local 1 // org.jruby.RubyArray arguments
         0: .line 321
            aload 1 /* arguments */
            invokevirtual org.jruby.RubyArray.size:()I
            istore 2 /* argsSize */
        start local 2 // int argsSize
         1: .line 323
            iload 2 /* argsSize */
            anewarray java.lang.Object
            astore 3 /* args */
        start local 3 // java.lang.Object[] args
         2: .line 324
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.proxy.JavaProxyConstructor.getParameterTypes:()[Ljava/lang/Class;
            astore 4 /* parameterTypes */
        start local 4 // java.lang.Class[] parameterTypes
         3: .line 326
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 327
      StackMap locals: org.jruby.javasupport.proxy.JavaProxyConstructor org.jruby.RubyArray int java.lang.Object[] java.lang.Class[] int
      StackMap stack:
            aload 3 /* args */
            iload 5 /* i */
            aload 1 /* arguments */
            iload 5 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 4 /* parameterTypes */
            iload 5 /* i */
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            aastore
         6: .line 326
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 2 /* argsSize */
            if_icmplt 5
        end local 5 // int i
         8: .line 329
            aload 3 /* args */
            areturn
        end local 4 // java.lang.Class[] parameterTypes
        end local 3 // java.lang.Object[] args
        end local 2 // int argsSize
        end local 1 // org.jruby.RubyArray arguments
        end local 0 // org.jruby.javasupport.proxy.JavaProxyConstructor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/jruby/javasupport/proxy/JavaProxyConstructor;
            0    9     1       arguments  Lorg/jruby/RubyArray;
            1    9     2        argsSize  I
            2    9     3            args  [Ljava/lang/Object;
            3    9     4  parameterTypes  [Ljava/lang/Class;
            4    8     5               i  I
    MethodParameters:
           Name  Flags
      arguments  final

  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.JavaProxyConstructor.inspect:()Lorg/jruby/RubyString;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JavaProxyConstructor.java"
NestMembers:
  org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler  org.jruby.javasupport.proxy.JavaProxyConstructor$ProcInvocationHandler
InnerClasses:
  private final MethodInvocationHandler = org.jruby.javasupport.proxy.JavaProxyConstructor$MethodInvocationHandler of org.jruby.javasupport.proxy.JavaProxyConstructor
  private final ProcInvocationHandler = org.jruby.javasupport.proxy.JavaProxyConstructor$ProcInvocationHandler of org.jruby.javasupport.proxy.JavaProxyConstructor
  public final Type = org.jruby.runtime.Block$Type of org.jruby.runtime.Block
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"Java::JavaProxyConstructor"})