protected internal virtual Expression VisitWhileExpression(WhileExpression node)
 {
     return(node.Update(
                Visit(node.Test),
                Visit(node.Body),
                node.BreakTarget,
                node.ContinueTarget));
 }
        protected internal override Expression VisitWhileExpression(WhileExpression node)
        {
            WriteKeyword("while");
            WriteSpace();
            WriteToken("(");
            Visit(node.Test);
            WriteToken(")");
            WriteLine();

            VisitAsBlock(node.Body);

            return(node);
        }
		protected internal virtual Expression VisitWhileExpression (WhileExpression node)
		{
			return node.Update (
				Visit (node.Test),
				Visit (node.Body),
				node.BreakTarget,
				node.ContinueTarget);
		}