protected internal virtual Expression VisitForEachExpression(ForEachExpression node)
 {
     return(node.Update(
                (ParameterExpression)Visit(node.Variable),
                Visit(node.Enumerable),
                Visit(node.Body),
                node.BreakTarget,
                node.ContinueTarget));
 }
 protected internal virtual Expression VisitForEachExpression(ForEachExpression node)
 {
     return node.Update(
         (ParameterExpression)Visit(node.Variable),
         Visit(node.Enumerable),
         Visit(node.Body),
         node.BreakTarget,
         node.ContinueTarget);
 }