private void ProcessConfigSubFilters(JobSearchItem configFilterItem, JobFilter newFilter, List <JobFilter> backendJobFilters)
        {
            if (configFilterItem != null && newFilter != null && backendJobFilters != null)
            {
                foreach (var backendFilterItem in backendJobFilters)
                {
                    if (configFilterItem.ID.Equals(backendFilterItem.ID, StringComparison.OrdinalIgnoreCase))
                    {
                        newFilter.ID       = backendFilterItem.ID;
                        newFilter.Label    = backendFilterItem.Label;
                        newFilter.Count    = backendFilterItem.Count;
                        newFilter.Value    = backendFilterItem.Value;
                        newFilter.Selected = backendFilterItem.Selected;

                        foreach (var configSubFilterItem in configFilterItem.Filters)
                        {
                            if (backendFilterItem.Filters != null && backendFilterItem.Filters.Count > 0)
                            {
                                var newSubFilter = new JobFilter()
                                {
                                    Filters = new List <JobFilter>()
                                };
                                ProcessConfigSubFilters(configSubFilterItem, newSubFilter, backendFilterItem.Filters);
                                newFilter.Filters.Add(newSubFilter);
                            }
                        }
                        break;
                    }
                }
            }
        }
        static void ProcessConfigFilterItems(JobSearchFilterReceiverItem targetFilterItem, JobSearchItem sourceFilterItem)
        {
            if (targetFilterItem != null && sourceFilterItem != null)
            {
                targetFilterItem.ItemID = sourceFilterItem.ID;

                foreach (var subFilterItem in sourceFilterItem.Filters)
                {
                    var subTargetFilter = new JobSearchFilterReceiverItem()
                    {
                        SubTargets = new List <JobSearchFilterReceiverItem>()
                    };
                    ProcessConfigFilterItems(subTargetFilter, subFilterItem);
                    targetFilterItem.SubTargets.Add(subTargetFilter);
                }
            }
        }