BTW this is all done beacuse I wasn't sure if a negative value was acceptable, otherwise I'd have just let the AtomicLong overflow.. which is very unlikely too :)