public function setBundle($name = null, $val = null, $force_overload = false)
    {
        if (!is_object($val)) {
            throw new DomainException(
                sprintf('A bundle entry must be an object (got "%s" for bundle "%s")!', gettype($val), $name)
            );
        }
        if (!CodeHelper::isClassInstance($val, Kernel::BUNDLE_CLASS)) {
            throw new DomainException(
                sprintf('A bundle entry must be a "%s" instance (for "%s")!', Kernel::BUNDLE_CLASS, $name)
            );
        }
        if (true===$this->instances->isEntry($name, 'bundles') && true!==$force_overload) {
            throw new InvalidArgumentException(
                sprintf('You can not over-write a container bundle (for "%s")!', $name)
            );
        }
        return $this->instances->setEntry($name,$val,'bundles');
    }