public function initializeObject()
    {
        $this->configuration = new Configuration($this->settings['defaultLocale']);
        $this->configuration->setFallbackRule($this->settings['fallbackRule']);

        if ($this->cache->has('availableLocales')) {
            $this->localeCollection = $this->cache->get('availableLocales');
        } elseif (isset($this->settings['availableLocales']) && !empty($this->settings['availableLocales'])) {
            $this->generateAvailableLocalesCollectionFromSettings();
            $this->cache->set('availableLocales', $this->localeCollection);
        } else {
            $this->generateAvailableLocalesCollectionByScanningFilesystem();
            $this->cache->set('availableLocales', $this->localeCollection);
        }
    }