public function getDescendants()
    {
        $descendants = $this->children;

        foreach ($this->children as $child) {
            $descendants = $descendants->merge($child->getDescendants());
        }

        return $descendants;
    }