* @return $iteratorInstance An instance of a Iterator class
*/
public function getIterator (array $onlyRegistries = []): Traversable {
- // Get iterator
+ // Trace message
/* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('BASE-REGISTRY: onlyRegistries()=%d - CALLED!', count($onlyRegistries)));
- $iteratorInstance = $this->getIteratorInstance();
// Is it set?
- /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugMessage(sprintf('BASE-REGISTRY: iteratorInstance[]=%s', gettype($iteratorInstance)));
- if (is_null($iteratorInstance)) {
+ if (!$this->isIteratorInstanceSet()) {
// Then instance it
$iteratorInstance = ObjectFactory::createObjectByConfiguredName('registry_iterator_class', [$this]);
// ... and set it here
$this->setIteratorInstance($iteratorInstance);
+ } else {
+ // Get iterator oinstance
+ $iteratorInstance = $this->getIteratorInstance();
}
// Init iterator instance