private void AddRegionAndChildAreas(IList<string> childAreaCodes, ComparatorMap comparatorMap)
        {
            Comparator regionalComparator = comparatorMap.GetSubnationalComparator();
            if (regionalComparator != null)
            {
                areaCodes.AddRange(childAreaCodes);

                if (ExcludeComparators == false)
                {
                    areaCodes.Add(regionalComparator.Area.Code);
                }
            }
        }
        private IList<string> GetChildAreaCodes(ComparatorMap comparatorMap, int childAreaTypeId, int profileId)
        {
            var parentAreaCode = comparatorMap.GetSubnationalComparator().Area.Code;
            IList<string> childAreaCodes = new ChildAreaListBuilder(areasReader, parentAreaCode,childAreaTypeId)
                .ChildAreas
                .Select(x => x.Code)
                .ToList();

            var filter = IgnoredAreasFilterFactory.New(profileId);
            childAreaCodes = filter.RemoveAreaCodesIgnoredEverywhere(childAreaCodes).ToList();

            // Add parent areacode to child areas for nearest neighbours only
            if (_isParentAreaNearestNeighbour)
            {
                childAreaCodes.Insert(0, parentAreaCode.Substring(5));
            }
            return childAreaCodes;
        }