/// <summary>
        /// Visits the <paramref name="descriptor"/>.
        /// </summary>
        /// <param name="descriptor"></param>
        /// <param name="callback"></param>
        protected virtual void VisitRange(RangeDescriptor descriptor, NumberVisitationCallback callback)
        {
            // Only evaluate it when we need to.
            long GetMaximumFieldNumber() => MaximumFieldNumber;

            var actualMaximum = descriptor.Maximum ?? GetMaximumFieldNumber();

            for (var i = descriptor.Minimum; i < actualMaximum; ++i)
            {
                callback(i);
            }
        }
 /// <inheritdoc />
 public int Compare(RangeDescriptor x, RangeDescriptor y) => PrivateCompare(x, y);