ca.astore(3);
// so here we have the array index on top of the stack, followed by the array
CodeLocation loopBegin = ca.mark();
BranchEnd loopEnd = ca.ifeq();
ca.dup();
ca.iinc(0, -1);
ca.iload(0); // load the array index into the stack
ca.dupX1(); // index, array, index, array
ca.aaload();
ca.checkcast("java.lang.reflect.Method");
ca.dup();