* @return $iteratorInstance An instance of a Iterator class
*/
public function getIterator () {
- // Prepare a default iterator
- $iteratorInstance = ObjectFactory::createObjectByConfiguredName('default_iterator_class', array($this));
+ // Get iterator from here
+ $iteratorInstance = $this->getIteratorInstance();
+
+ // Is the instance set?
+ if (is_null($iteratorInstance)) {
+ // Prepare a default iterator
+ $iteratorInstance = ObjectFactory::createObjectByConfiguredName('default_iterator_class', array($this));
+
+ // Set it here
+ $this->setIteratorInstance($iteratorInstance);
+ } // END - if
// And return it
return $iteratorInstance;