private Range VisitRange(Range range)
{
if (range == null) return null;
Range result = (Range)this.VisitConstrainedType(range);
result.Min = this.VisitExpression(range.Min);
result.Max = this.VisitExpression(range.Max);
return result;
}