void OnLastChangedFilterItemChanged(SetVisibleFilterAction.IFilterItemInfo newData)
        {
            if (newData != null)
            {
                var filterItemInfo = (FilterItemInfo)newData;
                var filterListItem = m_ActiveFilterListItem.SingleOrDefault(e => e.groupKey == filterItemInfo.groupKey && e.filterKey == filterItemInfo.filterKey);

                if (filterListItem != null)
                {
                    filterListItem.SetVisible(filterItemInfo.visible);
                }
            }
        }
        void CreateFilterListItem(SetVisibleFilterAction.IFilterItemInfo filterItemInfo)
        {
            FilterListItem filterListItem;

            if (m_FilterListItemPool.Count > 0)
            {
                filterListItem = m_FilterListItemPool.Pop();
            }
            else
            {
                filterListItem = Instantiate(m_FilterListItemPrefab, m_ParentTransform);
                filterListItem.visibleButtonClicked += OnVisibleButtonClicked;
                filterListItem.listItemClicked      += OnListItemClicked;
            }

            bool isHighlighted = m_CachedHighlightFilter.groupKey == filterItemInfo.groupKey && m_CachedHighlightFilter.filterKey == filterItemInfo.filterKey;

            filterListItem.InitItem(filterItemInfo.groupKey, filterItemInfo.filterKey, filterItemInfo.visible, isHighlighted);
            filterListItem.gameObject.SetActive(true);
            filterListItem.transform.SetAsLastSibling();
            m_ActiveFilterListItem.Add(filterListItem);
        }