public VariableStack mapStackToLocal(VariableStack stack) {
		VariableStack newStack;
		int params = cond.getFreeOperandCount();
		if (params > 0) {
			condStack = stack.peek(params);
			newStack = stack.pop(params);
		} else
			newStack = stack;

		VariableStack after = VariableStack.merge(thenBlock
				.mapStackToLocal(newStack), elseBlock == null ? newStack
				: elseBlock.mapStackToLocal(newStack));
		if (jump != null) {
			jump.stackMap = after;
			return null;
		}
		return after;
	}