/// <summary>
        /// Загружает цвета по имени файла baml ресурса
        /// </summary>
        /// <param name="name"></param>
        /// <param name="groupRes"></param>
        /// <param name="assemblyName"></param>
        /// <returns></returns>
        private static ResourceDictionary GetResourceDictionaryBaml(string name, IEnumerable <IGrouping <string, SelBaml> > groupRes,
                                                                    string assemblyName)
        {
            foreach (IEnumerable <SelBaml> item in groupRes)
            {
                SelBaml selBaml = item.First();

                if (String.Equals(selBaml.match.Groups["fileName"].Value, name, StringComparison.CurrentCultureIgnoreCase))
                {
                    var res = Read(assemblyName, selBaml.key);
                    return(res);
                }
            }

            return(null);
        }
        /// <summary>
        /// Создает наборы цветов и проверят их с класическими цветами
        /// </summary>
        /// <param name="classicColors"></param>
        /// <param name="groupRes"></param>
        /// <param name="assemblyName"></param>
        /// <returns></returns>
        private List <Swatch> GetSwatches(Swatch classicColors, IGrouping <string, SelBaml>[] groupRes, string assemblyName)
        {
            List <Swatch> swatches = new List <Swatch>();

            foreach (IEnumerable <SelBaml> grp in groupRes)
            {
                SelBaml selBaml = grp.First();
                var     name    = selBaml.match.Groups["fileName"].Value;

                if (!string.Equals(name, classicColors.Name, StringComparison.CurrentCultureIgnoreCase))
                {
                    var res = GetResourceDictionaryBaml(name, groupRes, assemblyName);

                    if (res == null)
                    {
                        throw new Exception(name + " not found");
                    }

                    if (res.Count == 0)
                    {
                        continue;
                        // throw new Exception(name + " is empty");
                    }

                    if (res.Count > 0)
                    {
                        Dictionary <string, Color> colors = GetColors(res);

                        Swatch swatch = new Swatch(name);
                        swatches.Add(swatch);
                        foreach (Hue hue in classicColors.Hues)
                        {
                            if (!colors.ContainsKey(hue.Name))
                            {
                                swatch.AddHue(new Hue(hue.Name, hue.Color));
                            }
                            else
                            {
                                swatch.AddHue(new Hue(hue.Name, colors[hue.Name]));
                            }
                        }
                    }
                }
            }

            return(swatches);
        }