public function getParentsOfType($parentType) { $parents = array(); $parentNode = $this->parent; while (is_object($parentNode)) { if ($parentNode instanceof $parentType) { array_unshift($parents, $parentNode); } $parentNode = $parentNode->getParent(); } return $parents; }