How do we handle collisions? My calculations (possibly wrong!) suggest a 1% collision rate for every 10K calls to nextInt, which I think is large enough to need consideration.