protected internal virtual Expression VisitDoWhileExpression(DoWhileExpression node)
 {
     return(node.Update(
                Visit(node.Test),
                Visit(node.Body),
                node.BreakTarget,
                node.ContinueTarget));
 }
		protected internal virtual Expression VisitDoWhileExpression (DoWhileExpression node)
		{
			return node.Update (
				Visit (node.Test),
				Visit (node.Body),
				node.BreakTarget,
				node.ContinueTarget);
		}
        protected internal override Expression VisitDoWhileExpression(DoWhileExpression node)
        {
            WriteKeyword("do");
            WriteLine();

            VisitAsBlock(node.Body);

            WriteKeyword("while");
            WriteSpace();
            WriteToken("(");
            Visit(node.Test);
            WriteToken(")");
            WriteToken(";");
            WriteLine();

            return(node);
        }