public static Int64 NextInt64(this Random random, Int64 lowerBound, Int64 upperBound)
        {
            lowerBound.ThrowIfStrictlyGreaterThan(upperBound, nameof(lowerBound));

            var value = random.NextInt64() % (upperBound + 1 - lowerBound) + lowerBound;

            return value;
        }