public static UInt16 NextUInt16(this Random random, UInt16 lowerBound, UInt16 upperBound) { lowerBound.ThrowIfStrictlyGreaterThan(upperBound, nameof(lowerBound)); var value = (UInt16)(random.NextUInt16() % (upperBound + 1 - lowerBound) + lowerBound); return value; }