public VariableStack mapStackToLocal(VariableStack stack) {
		VariableStack newStack;
		int params = instr.getFreeOperandCount();
		if (params > 0) {
			exprStack = stack.peek(params);
			newStack = stack.pop(params);
		} else
			newStack = stack;
		VariableStack lastStack = newStack;
		for (int i = 0; i < caseBlocks.length; i++) {
			if (lastStack != null)
				newStack.merge(lastStack);
			lastStack = caseBlocks[i].mapStackToLocal(newStack);
		}
		if (lastStack != null)
			mergeBreakedStack(lastStack);
		if (jump != null) {
			jump.stackMap = breakedStack;
			return null;
		}
		return breakedStack;
	}