in this case I have to have synchronized so that I can get a unique id without race conditions.  volatile isn't enough.