function set(iContainerService $service)
    {
        $name  = $service->getName();
        if ($name !== null && $this->has($name) && !$this->_attainCService($name)->isAllowOverride())
            throw new \Exception(
                "A service by the name or alias ({$name}) already exists and cannot be overridden;"
            );

        $this->_storeCService($name, $service);
        return $this;
    }