public void AdjustTags(TagHolders tagHolder)
        {
            var groups = GroupTagCollection;

            foreach (var group in groups)
            {
                var  tagsToReplace = group.IndedifiableTags;
                bool addGroupTag   = false;
                foreach (var tag in tagsToReplace)
                {
                    if (tagHolder.HasTag(tag))
                    {
                        tagHolder.RemoveTag(tag);
                        addGroupTag = true;
                    }
                    else
                    {
                        if (tagHolder.HasTagInGroup(tag))
                        {
                            string groupName = tagHolder.GetTagFromPartGroup(tag);
                            tagHolder.RemoveTag(groupName);
                            addGroupTag = true;
                        }
                    }
                }
                if (addGroupTag)
                {
                    ApplyGroupTag(tagHolder, group);
                }
            }
        }