private function loadLanguageContainer($langShortCode)
    {
        $cacheKey = $this->_cachePrefix.$langShortCode;
        
        $languageContainer = $this->getHasCache($cacheKey);
        
        if ($languageContainer === false) {
            $lang = $this->getLanguage($langShortCode);
    
            if (!$lang) {
                throw new NotFoundHttpException(sprintf("The requested language '%s' does not exist in language table", $langShortCode));
            }
    
            $data = $this->getNavData($lang['id']);
    
            $index = $this->buildIndexForContainer($data);
    
            $languageContainer = [];
    
            // $key = cms_nav_item.id (as of indexBy('id'))
            foreach ($data as $key => $item) {
                $alias = $item['alias'];
    
                if ($item['parent_nav_id'] > 0 && array_key_exists($item['parent_nav_id'], $index)) {
                    $alias = $index[$item['parent_nav_id']].'/'.$item['alias'];
                }
    
                $languageContainer[$key] = [
                    'id' => $item['id'],
                    'nav_id' => $item['nav_id'],
                    'lang' => $lang['short_code'],
                    'link' => $this->buildItemLink($alias, $langShortCode),
                    'title' => $this->encodeValue($item['title']),
                    'title_tag' => $this->encodeValue($item['title_tag']),
                    'alias' => $alias,
                    'description' => $this->encodeValue($item['description']),
                    'keywords' => $this->encodeValue($item['keywords']),
                    'create_user_id' => $item['create_user_id'],
                    'update_user_id' => $item['update_user_id'],
                    'timestamp_create' => $item['timestamp_create'],
                    'timestamp_update' => $item['timestamp_update'],
                    'is_home' => $item['is_home'],
                    'parent_nav_id' => $item['parent_nav_id'],
                    'sort_index' => $item['sort_index'],
                    'is_hidden' => $item['is_hidden'],
                    'type' => $item['nav_item_type'],
                    'image_id' => $item['image_id'],
                    'redirect' => ($item['nav_item_type'] == 3 && isset($this->redirectMap[$item['nav_item_type_id']])) ? $this->redirectMap[$item['nav_item_type_id']] : false,
                    'module_name' => ($item['nav_item_type'] == 2 && isset($this->modulesMap[$item['nav_item_type_id']])) ? $this->modulesMap[$item['nav_item_type_id']]['module_name'] : false,
                    'container' => $item['container'],
                    'depth' => count(explode('/', $alias)),
                    'is_url_strict_parsing_disabled' => $item['is_url_strict_parsing_disabled'],
                ];
            }
            
            $this->setHasCache($cacheKey, $languageContainer);
        }
        
        return $languageContainer;
    }