convertAnyAllFilter = function(oFilter, sFieldPath, sPropertyPath) {
					if ([FilterOperator.Any,FilterOperator.All].includes(oFilter.getOperator())) {
						// existing Any/All filters are not changed
						return {filter: null, anyAllFilters: [oFilter]};
					} else if (!oFilter.getPath() && oFilter.getFilters()) {
						// in case of nested inner filters call the convertAnyAllFilters for all sub filters.
						const aFilters = [];
						let aAnyAllFilters = [];
						oFilter.getFilters().forEach((oFilter) => {
							// aFilters.push(convertAnyAllFilter(oFilter, sFieldPath, sPropertyPath));
							const oConverted = convertAnyAllFilter(oFilter, sFieldPath, sPropertyPath);
							if (oConverted.filter) {
								aFilters.push(oConverted.filter);
							}
							if (oConverted.anyAllFilters.length > 0) {
								aAnyAllFilters = aAnyAllFilters.concat(oConverted.anyAllFilters);
							}
						});

						let oNewFilter;
						if (aFilters.length === 1) {
							[oNewFilter] = aFilters;
						} else if (aFilters.length > 1){
							oNewFilter = new Filter({filters: aFilters, and: oFilter.isAnd()});
						}
						return {filter: oNewFilter, anyAllFilters: aAnyAllFilters};
					} else if (oFilter.getPath() === sFieldPath) {
						oFilter.sPath = sPropertyPath;
						return {filter: oFilter, anyAllFilters: []};
					}
					return oFilter;
				}
Converts all conditions given in a oConditions map into a {@link sap.ui.model.Filter Filter} object.

@param {object} oConditions map of {@link sap.ui.mdc.condition.ConditionObject conditions}
@param {object} oConditionTypes map containing the types of the condition. Will be used to convert the values of a condition.
@param {function} [fConvert2FilterCallback] deprecated (since 1.113) and not called anymore.
@param {boolean} [bCaseSensitive] If <code>true</code>, the filtering for search strings is case-sensitive
@returns {sap.ui.model.Filter} Filter object for filtering a {@link sap.ui.model.ListBinding ListBinding}

@private
@ui5-restricted sap.ui.mdc