private void ParseItemsSection(XElement itemsSection)
        {
            LocalizationDataItems = itemsSection
                .ItemSections()
                .Select(
                    itemSection =>
                    {
                        var KEY = itemSection.Attribute("KEY").Value() ?? itemSection.Elements("KEY").Single().Value;


                        var VALUES = itemSection
                            .Elements()
                            .Where(
                                element => element.Name != "KEY"
                            )
                            .Select(
                                element => 
                                new
                                {
                                    ElementName = element.Name.ToString(), 
                                    // ReSharper disable RedundantAnonymousTypePropertyName
                                    Value = element.Value
                                    // ReSharper restore RedundantAnonymousTypePropertyName
                                }
                            )
                            .Select(
                                elementData =>
                                new
                                {
                                    Language = ElementNameToLanguageMap
                                        .ValueOrDefault(
                                            elementData.ElementName
                                        ),
                                    // ReSharper disable RedundantAnonymousTypePropertyName
                                    Value = elementData.Value
                                    // ReSharper restore RedundantAnonymousTypePropertyName
                                }
                            )
                            .Where(
                                languageData => languageData.Language != null
                            )
                            .ToDictionary(
                                languageData => languageData.Language,
                                languageData => languageData.Value
                            );


                        if (DefaultLanguage.IsNotEmpty())
                        {
                            if(VALUES.ContainsKey(DefaultLanguage) == false)
                            {
                                VALUES.Add(DefaultLanguage, KEY);
                            }
                        }


                        return new LocalizationDataItem
                        {
                            Key = KEY,
                            Values = VALUES
                        };
                    }
                )
                .ToList();
        }