protected function initExtensions() { if (!$this->extensionsInitialized) { foreach ($this->getExtensions() as $extension) { $this->attributes = array_merge_recursive($this->attributes, $extension->getAttributes()); $this->nodes = array_merge_recursive($this->nodes, $extension->getNodes()); foreach ($extension->getSubscribers() as $subscriber) { $this->dispatcher->addSubscriber($subscriber); } } $this->extensionsInitialized = true; } }