/// <summary>
        /// Get dictionary, containing column name as a key and value for filtering as a value.
        /// </summary>
        /// <param name="hierarchyDataFilters"><see cref="Dictionary<string, object>"/>filters</param>
        /// <param name="filtersGroup"><see cref="HierarchyDataStructureFilterGroup"/>Group for hierarchy data structure filters.</param>
        /// <param name="logicalOperationStrict"><see cref="LogicalOperationStrict"/>Logical operation.</param>
        /// <returns><see cref="EntityCollectionMappingHandlerFilterGroup"/>.</returns>
        protected virtual EntityCollectionMappingHandlerFilterGroup GetFilterGroup(Dictionary <string, object> hierarchyDataFilters, HierarchyDataStructureFilterGroup filtersGroup,
                                                                                   LogicalOperationStrict logicalOperationStrict = LogicalOperationStrict.And)
        {
            List <EntityCollectionMappingHandlerFilter> filters = GetEntityCollectionMappingHandlerFilter(hierarchyDataFilters);

            var hierarchyDataStructureFilters = GetEntityCollectionMappingHandlerFilter(filtersGroup);

            if (hierarchyDataStructureFilters != null && hierarchyDataStructureFilters.Any())
            {
                filters.AddRange(hierarchyDataStructureFilters);
            }

            LogicalOperationStrict logicalOperation = filtersGroup != null ? filtersGroup.LogicalOperation : logicalOperationStrict;

            return(new EntityCollectionMappingHandlerFilterGroup(filters, logicalOperation));
        }
        /// <summary>
        /// Get filters collection.
        /// </summary>
        /// <param name="filters"><see cref="HierarchyDataStructureFilterGroup"/>Dictionary consisting of values entity column and value.</param>
        /// <returns><see cref="List<EntityCollectionMappingHandlerFilter>"/>Filters collection.</returns>
        private List <EntityCollectionMappingHandlerFilter> GetEntityCollectionMappingHandlerFilter(HierarchyDataStructureFilterGroup hierarchyDataStructureFilters)
        {
            List <EntityCollectionMappingHandlerFilter> mappingHandlerFilters = new List <EntityCollectionMappingHandlerFilter>();

            if (hierarchyDataStructureFilters == null || hierarchyDataStructureFilters.Filters.IsNullOrEmpty())
            {
                return(mappingHandlerFilters);
            }
            foreach (var filter in hierarchyDataStructureFilters.Filters)
            {
                mappingHandlerFilters.Add(new EntityCollectionMappingHandlerFilter(
                                              filter.ColumnPath, new List <object>(filter.Values), filter.ComparisonType, filter.LogicalOperation));
            }
            return(mappingHandlerFilters);
        }