function __construct($link, SiteDocIndexItem $parent = null, SitePart $sitePart = null) { Assert::isScalar($link); $this->parent = $parent; if ($this->parent) { $this->parent->addChild($this); } $this->link = $link; $this->sitePart = !$sitePart && $parent ? $parent->getSitePart() : $sitePart; }