Trunk's updated to use an AtomicLong. Masking was slowish. I'm just resetting it to zero when it is found to exceed Integer.MAX_VALUE, which fulfills the original contract of the class, which is to guarantee Integer.MAX_VALUE unique values per second (and maybe a few more, depending). Any fallacies in that?
> Slight problem with newUniqueID(), though. Synchronizing on incr doesn't do > anything. How about using AtomicLong and masking out the high bits?

