private function _createBean(BeanDefinition $definition)
    {
        $name = $definition->getName();
        if (isset($this->_definitionsInProcess[$name])) {
            throw new BeanFactoryException(
            	"Cyclic dependency found for: $name"
            );
        }
        $this->_definitionsInProcess[$name] = '';
        $this->_lifecycleManager->beforeCreate($definition);
        $this->_createBeanDependencies($definition);
        $this->_applyAspects($definition);
        $bean = $this->_instantiate($definition);
        if (!is_object($bean)) {
            unset($this->_definitionsInProcess[$name]);
            throw new BeanFactoryException(
            	'Could not instantiate ' . $definition->getName()
            );
        }
        $this->_assemble($bean, $definition);
        $this->_setupInitAndShutdown($bean, $definition);
        $this->_lifecycleManager->afterCreate($bean, $definition);
        unset($this->_definitionsInProcess[$name]);
        return $bean;
    }
private function _createBean(BeanDefinition $definition)
    {
        $name = $definition->getName();
        if (isset($this->_definitionsInProcess[$name])) {
            throw new BeanFactoryException(
            	"Cyclic dependency found for: $name"
            );
        }
        $this->_definitionsInProcess[$name] = '';
        $this->_lifecycleManager->beforeCreate($definition);
        $this->_createBeanDependencies($definition);
        $this->_applyAspects($definition);
        $bean = $this->_instantiate($definition);
        if (!is_object($bean)) {
            unset($this->_definitionsInProcess[$name]);
            throw new BeanFactoryException(
            	'Could not instantiate ' . $definition->getName()
            );
        }
        $this->_assemble($bean, $definition);
        $this->_setupInitAndShutdown($bean, $definition);
        $this->_lifecycleManager->afterCreate($bean, $definition);
        unset($this->_definitionsInProcess[$name]);
        return $bean;
    }
private function _createBean ( BeanDefinition $ definition ) { $ name = $ definition -> getName ( ) ; if ( isset ( $ this -> _definitionsInProcess [ $ name ] ) ) { throw new BeanFactoryException ( "Cyclic dependency found for: $name" ) ; } $ this -> _definitionsInProcess [ $ name ] = '' ; $ this -> _lifecycleManager -> beforeCreate ( $ definition ) ; $ this -> _createBeanDependencies ( $ definition ) ; $ this -> _applyAspects ( $ definition ) ; $ bean = $ this -> _instantiate ( $ definition ) ; if ( ! is_object ( $ bean ) ) { unset ( $ this -> _definitionsInProcess [ $ name ] ) ; throw new BeanFactoryException ( 'Could not instantiate ' . $ definition -> getName ( ) ) ; } $ this -> _assemble ( $ bean , $ definition ) ; $ this -> _setupInitAndShutdown ( $ bean , $ definition ) ; $ this -> _lifecycleManager -> afterCreate ( $ bean , $ definition ) ; unset ( $ this -> _definitionsInProcess [ $ name ] ) ; return $ bean ; }
This will create a new bean, injecting all properties and applying all
aspects.

@throws BeanFactoryException
@return object
This will create a new bean injecting all properties and applying all aspects .