protected function getProviders()
    {
        if (is_null($this->providers)) {
            $this->providers = array();
            if ($this->hasOption(self::OPTION_PROVIDERS)) {
                foreach ($this->getOption(self::OPTION_PROVIDERS) as $provider) {
                    if ($provider instanceof ServiceLocatorAwareInterface) {
                        $provider->setServiceLocator($this->getServiceLocator());
                    }
                    $this->providers[] = $provider;
                }
            }
        }
        return $this->providers;
    }