private string SaveTableItems(string s)
        {
            MatchCollection matches = rexTablesContainer.Matches(s);
            TempContainer container;
            foreach (Match m in matches)
            {
                container = new TempContainer() { Content = m.Value.Trim() };
                tableList.Add(container);
            }

            StringBuilder sb = new StringBuilder(s);
            foreach (TempContainer cont in tableList)
            {
                sb.Replace(cont.Content, cont.TempId.ToString());
            }

            return sb.ToString();
        }
        private string SaveNoWikiPart(List<TempContainer> noWikiList, string s)
        {
            MatchCollection matches = rexNoWiki.Matches(s);
            TempContainer container;
            foreach (Match m in matches)
            {
                container = new TempContainer() { Content = m.Value.Trim() };
                noWikiList.Add(container);
            }

            StringBuilder sb = new StringBuilder(s);
            foreach (TempContainer cont in noWikiList)
            {
                sb.Replace(cont.Content, string.Format(_convertNoWikitemplate, cont.TempId));
            }

            return sb.ToString();
        }
        private string ProcessSavePreCollection(string s)
        {
            preList = new List<TempContainer>();
            MatchCollection matches = rexPreContainer.Matches(s);
            TempContainer container;

            StringBuilder sb = new StringBuilder(s);
            foreach (Match m in matches)
            {
                var oldValue = m.Groups[1].Value.Trim();

                container = new TempContainer() { Content = string.IsNullOrEmpty(oldValue) ? m.Value : m.Value.Replace(oldValue, XLT(oldValue, XltType.Pre)) };
                sb.Replace(m.Value, container.TempId.ToString());
                preList.Add(container);
            }

            return sb.ToString();
        }
        private string ProcessTables(string s)
        {
            List<TempContainer> linkList = new List<TempContainer>();
            s = SaveLinkTabItems(linkList, s);

            MatchCollection matches = rexTableCell.Matches(s);
            TempContainer container;
            string value = string.Empty;
            List<TempContainer> cellEntries = new List<TempContainer>();
            foreach (Match m in matches)
            {
                value = m.Groups[2].Value;
                if (!string.IsNullOrEmpty(value.Trim()) && CellEntriesCanBeAdded(cellEntries, value))
                {
                    container = new TempContainer() { Content = value };
                    cellEntries.Add(container);
                }
            }

            StringBuilder sb = new StringBuilder(s);
            foreach (TempContainer cont in cellEntries)
            {
                sb.Replace(cont.Content, cont.TempId.ToString() + "\n");
                cont.Content = cont.Content.Trim();
            }
            s = sb.ToString();

            /*s = XLT(s);*/
            //ProcessTableOnly!!!

            //s = LoadLinkTabItems(linkList, s);
            sb = new StringBuilder(XLT(s, XltType.Table));
            foreach (TempContainer cont in cellEntries)
            {
                sb.Replace(cont.TempId.ToString(), XLT(LoadLinkTabItems(linkList, cont.Content)));
            }

            return sb.ToString();
        }