private static Jevy GetJevy(SkupinaJevu skupina, string souborDocx,
                                    string strLanguage, string styleId, string styleUiName, TypJevu typJevu)
        {
            string sId = Jevy.GetID(strLanguage, styleId);

            if (!skupina.ContainsID(sId))
            {
                var jvs = new Jevy(typJevu, souborDocx, strLanguage, styleId, styleUiName);
                skupina.Add(jvs);
            }

            return(skupina[sId]);
        }
        private void ZpracovatZnakovyStylJakoJev(TextRunEventArgs ev)
        {
            //TODO Za jakých okonlností k tomu dochází?
            if (ev == null)
            {
                return;
            }

            if (ev.Text == null)
            {
                ev.Text = String.Empty;
            }
            string sText = _nastaveni.OdstranitPocatecniAKoncoveMezery ? ev.Text.Trim() : ev.Text;

            if (Nastaveni.StylyLokace.Contains(ev.Style.UIName))
            {
                if (_aktualniLokace == null)
                {
                    _aktualniLokace = sText;
                }
                else if (abRegex.IsMatch(sText) && slashAbRegex.IsMatch(_aktualniLokace))
                {
                    _aktualniLokace = _aktualniLokace.Substring(0, _aktualniLokace.LastIndexOf("/") + 1) + sText;
                }
                else
                {
                    _aktualniLokace = sText;
                }
            }

            //pokud se odstraňovaly počáteční a koncové mezery a text je prázdný, znamená to, že text obsahoval pouze mezery
            //v tom případě se do výsledků takový text zahrne (půjde o mezery, tabulátory)
            if (_nastaveni.OdstranitPocatecniAKoncoveMezery && sText.Length == 0 && ev.Text != null)
            {
                sText = ev.Text;
            }

            Jev jv = new Jev(ev.Language, sText, null);

            Jevy jvs = GetJevy(ev.Language, ev.Style.ID, ev.Style.UIName, TypJevu.Useky);
            //jvs.Add(jv);

            Jevy jevyOdstavce = GetJevy(_jevyAktualnihoOdstavce, _souborDocx,
                                        ev.Language, ev.Style.ID, ev.Style.UIName, TypJevu.Useky);

            jevyOdstavce.Add(jv);

            _usekyAktulanihoOdstravceInContinuo.Add(new Usek(ev.Style.UIName, ev.Text, _aktualniLokace));


            //jevyAktualnihoOdstavce.Add(jevyOdstavce);

            if (_nastaveni.ZahrnoutTextOdstavce)
            {
                string sOdstavecZnak   = _aktualniOdstavecEventArgs.Style.ID + "+" + ev.Style.ID;
                string sOdstavecZnakID = Jevy.GetID(ev.Language, sOdstavecZnak);

                if (!_aktualniSkupinaJevu.ContainsID((sOdstavecZnakID)))
                {
                    jvs       = new Jevy(TypJevu.Useky, _souborDocx, ev.Language, sOdstavecZnak);
                    jvs.Popis = _aktualniOdstavecEventArgs.Style.UIName + " + " + ev.Style.UIName;
                    _aktualniSkupinaJevu.Add(jvs);
                }

                _aktualniSkupinaJevu[sOdstavecZnakID].Add(jv.Clone());
            }
        }