internal override void Write(TextWriter output)
{
LeftHand.Write(output);
output.Write(' ');
switch (Operator)
{
case Model.Operator.Div: output.Write('/'); break;
case Model.Operator.Minus: output.Write('-'); break;
case Model.Operator.Mod: output.Write('%'); break;
case Model.Operator.Mult: output.Write('*'); break;
case Model.Operator.Plus: output.Write('+'); break;
case Model.Operator.Take_Exists: output.Write("??"); break;
default: throw new InvalidOperationException("Unknown operator: " + Operator);
}
output.Write(' ');
RightHand.Write(output);
}