/// <summary>
        /// Method for creating of list of value groups and their corresponding special teasps.
        /// </summary>
        /// <param name="dc">user data category</param>
        /// <returns>List of Value Groups</returns>
        private (List <ValueGroup>, List <Teasp>) handleSplitContents(string dc, bool hasPicklist = false)
        {
            TBXContentMap cm = mappingDict.getTBXContentMap(dc);

            string[] tbx_keys = Methods.getKeyArray(tbx_picklists.Keys);

            List <ValueGroup> vgs    = new List <ValueGroup>();
            List <Teasp>      teasps = new List <Teasp>();

            foreach (string tbx_dc in mappingDict.getTBXMappingList(dc))
            {
                if (Methods.inArray(ref tbx_keys, tbx_dc))
                {
                    Teasp teasp = new Teasp();

                    (string target, string eltAtt) = getEltTgtEltAtt(tbx_dc);

                    if (hasPicklist)
                    {
                        teasp.setAll(target, eltAtt, mappingDict.getPicklistMap(dc));
                    }
                    else
                    {
                        teasp.setAll(target, eltAtt);
                    }

                    ValueGroup vg = new ValueGroup();

                    foreach (string content in cm.Keys)
                    {
                        if (cm[content] == tbx_dc)
                        {
                            vg.Add(content);
                        }
                    }
                    vgs.Add(vg);
                    teasps.Add(teasp);
                }
                else
                {
                    Teasp teasp = new Teasp();
                    (string target, string eltAtt) = getEltTgtEltAtt(tbx_dc);
                    teasp.setAll(target, eltAtt);
                    ValueGroup vg = new ValueGroup();
                    foreach (string content in cm.Keys)
                    {
                        if (cm[content] == tbx_dc)
                        {
                            vg.Add(content);
                        }
                    }
                    vgs.Add(vg);
                    teasps.Add(teasp);
                }
            }

            return(vgs, teasps);
        }
        /// <summary>
        /// Create a Template Set with Picklist Values
        /// </summary>
        /// <param name="user_dc">User data category name</param>
        /// <param name="tbx_dc">User data category name</param>
        /// <returns>Template Set with Picklist values</returns>
        private TemplateSet createTemplateSet(string user_dc, string tbx_dc)
        {
            (string target, string eltAtt) = getEltTgtEltAtt(tbx_dc);

            TemplateSet ts = new TemplateSet();
            Dictionary <string, string> sub = new Dictionary <string, string>();

            TBXContentMap cm = mappingDict.getTBXContentMap(user_dc);
            PicklistMap   pm = mappingDict.getPicklistMap(user_dc);

            foreach (string content in cm?.Keys)
            {
                if (cm[content] == tbx_dc)
                {
                    sub.Add(content, pm[content]);
                }
            }

            ((ts[0] as KeyList)[0] as Teasp).setAll(target, eltAtt, sub);
            return(ts);
        }