_objects = $objects; } #[\ReturnTypeWillChange] public function current() { return current($this->_objects); } #[\ReturnTypeWillChange] public function key() { return key($this->_objects); } #[\ReturnTypeWillChange] public function next() { return next($this->_objects); } #[\ReturnTypeWillChange] public function rewind() { return reset($this->_objects); } public function valid(): bool { return current($this->_objects) !== false; } public function getChildren(): ?RecursiveIterator { return current($this->_objects); } public function hasChildren(): bool { return count($this->_objects) > 0; } public function count(): int { return count($this->_objects); } }