protected abstract T Visit(SwitchExpressionDto expression);
protected override Expression Visit(SwitchExpressionDto expression) { return(Expression.Switch(expression.Type, Visit(expression.SwitchValue), Visit(expression.DefaultBody), expression.Comparison, ListSelect(expression.Cases, GetSwitchCase))); }