/// <summary>
/// Visits the children of the <see cref="LabelExpression" />.
/// </summary>
/// <param name="node">The expression to visit.</param>
/// <returns>
/// The modified expression, if it or any subexpression was modified;
/// otherwise, returns the original expression.
/// </returns>
protected internal virtual Expression VisitLabel(LabelExpression node)
{
if (node == null)
{
throw new ArgumentNullException(nameof(node));
}
return(node.Update(VisitLabelTarget(node.Target), Visit(node.DefaultValue)));
}