/// <summary>
        /// Handles a level.
        /// </summary>
        /// <param name="dc">User data category name</param>
        /// <param name="group">concept|language|term</param>
        private void handleGrp(string dc, string group)
        {
            if (group != "concept" && group != "language" && group != "term")
            {
                throw (new InvalidLevelException());
            }

            TemplateSet ts;


            //Handle data category with split contents and picklists
            if (mappingDict.hasPicklist(dc) && mappingDict.hasSplitContents(dc))
            {
                ts = createTemplateSet(dc, true);

                (List <ValueGroup> vgs, List <Teasp> teasps) = handleSplitContents(dc, true);
                ts.addValueGroups(vgs);
                ts.addSpecialTeasps(teasps);
            }
            //Handle single tbx datcat with picklists
            else if (mappingDict.hasPicklist(dc) && !mappingDict.hasSplitContents(dc))
            {
                string tbx_dc = getTBXdc(dc);
                ts = createTemplateSet(dc, tbx_dc);
            }
            //Handle data category with split contents (no picklists)
            else if (!mappingDict.hasPicklist(dc) && mappingDict.hasSplitContents(dc))
            {
                ts = createTemplateSet(dc, true);

                (List <ValueGroup> vgs, List <Teasp> teasps) = handleSplitContents(dc);
                ts.addValueGroups(vgs);
                ts.addSpecialTeasps(teasps);
            }
            //Handle all simple cases: no multiple tbx datcats, no picklists
            else
            {
                ts = createTemplateSet(dc);
            }


            fullMapping.catMap[group].Add(dc, ts);
        }