prerequisites = new \ArrayObject(); } public function add(string $prerequisiteClass): void { if ( !($this->prerequisites[$prerequisiteClass] ?? false) && is_a($prerequisiteClass, PrerequisiteInterface::class, true) ) { $this->prerequisites[$prerequisiteClass] = GeneralUtility::makeInstance( $prerequisiteClass ); } } public function getIterator(): \Traversable { return $this->prerequisites; } }