function filterStructural(bSkipFirstSegment, sMetaPath) {
				var aSegments = sMetaPath.split("/");

				return aSegments.every(function (sSegment, i) {
					return i === 0 && bSkipFirstSegment
						|| sSegment === "$count"
						|| fnFetchMetadata(
								sRootMetaPath + "/" + aSegments.slice(0, i + 1).join("/")
							).getResult().$kind === "Property";
				});
			}
Returns a copy of given query options where "$expand" and "$select" are replaced by the
intersection with the given (navigation) property paths.

Note: In case the meta path <code>sRootMetaPath</code> points to a single-valued
navigation property, for example "/SalesOrderList/SO_2_BP", this methods adds the key
properties of the related entity type to the "$select" query options. Although this is
not needed in order to obtain the correct nested entity it enables
{@link sap.ui.model.odata.v4.Context#requestSideEffects}) to check the consistency of the
key predicate.

@param {object} [mCacheQueryOptions]
  A map of query options as returned by
  {@link sap.ui.model.odata.v4.ODataModel#buildQueryOptions}
@param {string[]} aPaths
  The "14.5.11 Expression edm:NavigationPropertyPath" or
  "14.5.13 Expression edm:PropertyPath" strings describing which properties need to be
  loaded because they may have changed due to side effects of a previous update; must not
  be empty; "*" means all structural properties
@param {function} fnFetchMetadata
  Function which fetches metadata for a given meta path
@param {string} sRootMetaPath
  The meta path for the cache root's type, for example "/SalesOrderList/SO_2_BP" or
  "/Artists/foo.EditAction/@$ui5.overload/0/$ReturnType/$Type", such that an OData simple
  identifier may be appended
@param {string} [sPrefix=""]
  Optional prefix for navigation property meta paths used during recursion
@param {boolean} bWithMessages
  Whether the "@com.sap.vocabularies.Common.v1.Messages" path is treated specially
@returns {object}
  The updated query options or <code>null</code> if no request is needed
@throws {Error}
  If a path string is empty or the intersection requires a "$expand" of a
  collection-valued navigation property

@public