private void CheckLinearAndNumeric()
{
if (mode != ToleranceMode.Linear)
throw new InvalidOperationException(mode == ToleranceMode.None
? ModeMustFollowTolerance
: MultipleToleranceModes);
if (!Numerics.IsNumericType(amount))
throw new InvalidOperationException(NumericToleranceRequired);
}