current(); return ! empty($element->getSubelements()); } public function getChildren() { /** @var AbstractStructuralDBElement $element */ $element = $this->current(); $subelements = $element->getSubelements(); if (is_array($subelements)) { $array = $subelements; } elseif ($subelements instanceof Collection) { $array = $subelements->toArray(); } else { throw new \InvalidArgumentException('Invalid subelements type on $element!'); } return new self($array); } }