ReflectOps.constructor_switch(e, constructors, new ObjectSwitchCallback() {
ComplexOps.constructor_switch(e, constructors, new ObjectSwitchCallback() {
    private void emitNewInstanceMultiarg(Constructor[] constructors) {        final CodeEmitter e = begin_method(Constants.ACC_PUBLIC, MULTIARG_NEW_INSTANCE, null);        Label skipSetCallbacks = e.make_label();        e.load_arg(2);        e.invoke_static_this(SET_THREAD_CALLBACKS);        e.new_instance_this();        e.dup();        e.load_arg(0);        ReflectOps.constructor_switch(e, constructors, new ObjectSwitchCallback() {            public void processCase(Object key, Label end) {                Constructor constructor = (Constructor)key;                Type types[] = TypeUtils.getTypes(constructor.getParameterTypes());                for (int i = 0; i < types.length; i++) {                    e.load_arg(1);                    e.push(i);                    e.aaload();                    e.unbox(types[i]);                }                e.invoke_constructor_this(ReflectUtils.getSignature(constructor));                e.goTo(end);            }            public void processDefault() {                e.throw_exception(ILLEGAL_ARGUMENT_EXCEPTION, "Constructor not found");            }        });        e.load_arg(2);        e.ifnull(skipSetCallbacks);        e.dup();        e.load_arg(2);        emitSetCallbacks(e);        e.mark(skipSetCallbacks);        e.return_value();        e.end_method();    }