org.apache.jackrabbit.core.version
Interface VersionSelector

This Interface defines the version selector that needs to provide a version,
given some hints and a version history. the selector is used in the various
restore methods in order to select the correct version of previously versioned
OPV=Version children upon restore. JSR170 states: "This determination
[of the version] depends on the configuration of the workspace and is outside
the scope of this specification."

The version selection in jackrabbit works as follows:
The Node.restore() methods uses the
DateVersionSelector which is initialized with the creation date of
the parent version. This selector selects the latest version that is equal
or older than the given date. if no such version exists, the initial one
is restored.
The Node.restoreByLabel() uses the
LabelVersionSelector which is initialized with the label of the
version to be restored. This selector selectes the version with the same
label. if no such version exists, the initial one is restored.