setVersionLabel

Sets the version label to the given version.
If the label is already assigned to another version, a VersionException is
thrown unless move is true. If version
is null, the label is removed from the respective version.
In either case, the version the label was previously assigned is returned,
or null of the label was not moved.

This method must not be synchronized since it could cause deadlocks with
item-reading listeners in the observation thread.