protected virtual void ShowQuests(QuestState questStateMask)
        {
            currentQuestStateMask = questStateMask;
            noQuestsMessage       = GetNoQuestsMessage(questStateMask);
            List <QuestInfo> questList = new List <QuestInfo>();

            if (useGroups)
            {
                var records = QuestLog.GetAllGroupsAndQuests(questStateMask, true);
                foreach (var record in records)
                {
                    if (!IsQuestVisible(record.questTitle))
                    {
                        continue;
                    }
                    questList.Add(GetQuestInfo(record.groupName, record.questTitle));
                }
            }
            else
            {
                string[] titles = QuestLog.GetAllQuests(questStateMask, true, null);
                foreach (var title in titles)
                {
                    if (!IsQuestVisible(title))
                    {
                        continue;
                    }
                    questList.Add(GetQuestInfo(string.Empty, title));
                }
            }
            quests = questList.ToArray();
            OnQuestListUpdated();
        }