Hi,
Hismo aims to offer you the possibility to navigate both in space and in time. To this end, you need to always know where you are.
referenceVersion is similar to mooseModel in FAMIX entities. From any FAMIX entity you can quickly navigate to the model object. In the same way, from any version entity you can navigate to the top-most version (usually a version corresponding to a MooseModel instance).
Let's take an example. Imagine you have a history of 5 models (instances of MooseModel) holding FAMIX objects.
And now, imagine that the version of a class A in your hand, and you would want to know that it exists in the version 2. So, you would get the object corresponding to system version 2 and then use existsInReferenceVersion: to check your version object (see below):
existsInReferenceVersion: aReferenceVersion
"answers if the history has a version in aReferenceVersion"
^(self versions
select: [:each | each referenceVersion = aReferenceVersion]) isEmpty not