A SynchronizationPattern. A ChangeNumber is used as a VersionNumber to reduce the amount of time a lock is held in LockBasedSynchronization or to reduce the lock so much that it becomes LockFreeSynchronization. Every time the data is changed, the ChangeNumber is incremented. ---- See also SequenceNumber