int jumpTarget = newBlock.getBinding().getFrame().getJumpTarget();
try {
if (self != null) newBlock.getBinding().setSelf(self);
return newBlock.call(context, args, passedBlock);
} catch (JumpException.BreakJump bj) {
return handleBreakJump(getRuntime(), newBlock, bj, jumpTarget);
} catch (JumpException.ReturnJump rj) {
return handleReturnJump(context, rj, jumpTarget);
} catch (JumpException.RetryJump rj) {