This does not need to be volatile, it is guarded by UPDATE_LOCK
Expanded the javadoc slightly