public function getAllLinearVersions()
{
// OPTIMIZE: special iterator that delays loading the versions
if (!$this->linearVersions) {
$version = $this->getRootVersion();
do {
$this->linearVersions[$version->getName()] = $version;
} while ($version = $version->getLinearSuccessor());
}
return new ArrayIterator($this->linearVersions);
}