protected function &_wakeupComponent(__ComponentSpec $component_spec) { $component_name = $component_spec->getName(); if ($component_spec->isArray()) { $component_index = $this->_getNextIndex($component_name); } else { $component_index = null; } //if the component exists, will get it from the component handler if ($this->_component_handler->hasComponent($component_name, $component_index)) { $component = $this->_component_handler->getComponent($component_name, $component_index); } else { $component = $this->_createComponent($component_spec, $component_index); $this->_created_components[$component->getId()] = true; } return $component; }