public Expression addOperand(Expression op) {
		for (int i = subExpressions.length; i-- > 0;) {
			int opcount = subExpressions[i].getFreeOperandCount();
			if (opcount > 0) {
				subExpressions[i] = subExpressions[i].addOperand(op);
				operandcount += subExpressions[i].getFreeOperandCount()
						- opcount;
				updateType();
				return this;
			}
		}
		throw new alterrs.jode.AssertError(
				"addOperand called, but no operand needed");
	}