block.end(); ComplexOps.wrap_throwable(block, INVOCATION_TARGET_EXCEPTION); e.mark(illegalArg); e.throw_exception(ILLEGAL_ARGUMENT_EXCEPTION, "Cannot find matching method/constructor");
    private static void invokeSwitchHelper(final CodeEmitter e, final Object[] members, final int arg) {        e.process_switch(getIntRange(members.length), new ProcessSwitchCallback() {            public void processCase(int key, Label end) {                Member member = (Member)members[key];                Signature sig = ReflectUtils.getSignature(member);                Type[] types = sig.getArgumentTypes();                for (int i = 0; i < types.length; i++) {                    e.load_arg(arg);                    e.aaload(i);                    e.unbox(types[i]);                }                if (member instanceof Method) {                    e.invoke((Method)member);                    e.box(Type.getType(((Method)member).getReturnType()));                } else {                    e.invoke_constructor(Type.getType(member.getDeclaringClass()), sig);                }                e.return_value();            }            public void processDefault() {                e.throw_exception(ILLEGAL_ARGUMENT_EXCEPTION, "Cannot find matching method/constructor");            }        });    }