protected function _registerComponentSpec(__ComponentSpec &$component_spec)
 {
     if ($this->_properties_stack->count() == 0 && $this->_component_specs_stack->count() > 0) {
         $current_component_spec = $this->_component_specs_stack->peek();
         $current_component_class = $current_component_spec->getClass();
         if (!is_subclass_of($current_component_class, '__IContainer')) {
             throw __ExceptionFactory::getInstance()->createException('ERR_UI_COMPONENT_IS_NOT_CONTAINER', array($current_component_spec->getTag(), $component_spec->getTag()));
         }
     }
     $this->_component_specs[$component_spec->getId()] =& $component_spec;
 }