Shouldn't this be an AtomicLong as it will potentially have concurrent updates?