function handle(oElement,
				sPredicate = _Helper.getPrivateAnnotation(oElement, "predicate")) {
			that.beforeUpdateSelected?.(sPredicate, oElement);
			_Helper.updateSelected(that.mChangeListeners, sPredicate,
				that.aElements.$byPredicate[sPredicate], oElement, aPaths,
				function preventKeyPredicateChange(sPath) {
					sPath = sPath.slice(sPredicate.length + 1); // strip sPredicate
					// not (below) a $NavigationPropertyPath?
					return !aPaths.some(function (sSideEffectPath) {
						return _Helper.getRelativePath(sPath, sSideEffectPath) !== undefined;
					});
				});
		}
Returns a promise to be resolved when the side effects have been applied to the elements
with the given key predicates. All other elements from the back end are discarded!

@param {sap.ui.model.odata.v4.lib._GroupLock} oGroupLock
  A lock for the ID of the group that is associated with the request;
  see {@link sap.ui.model.odata.v4.lib._Requestor#request} for details
@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
@param {string[]} aPredicates
  The key predicates of the root elements to request side effects for
@param {boolean} bSingle
  Whether only the side effects for a single element are requested; no element is discarded
  in this case
@param {boolean} bWithMessages
  Whether the "@com.sap.vocabularies.Common.v1.Messages" path is treated specially
@returns {Promise<void>|sap.ui.base.SyncPromise}
  A promise which is resolved without a defined result, or rejected with an error if loading
  of side effects fails
@throws {Error}
  If group ID is '$cached' (the error has a property <code>$cached = true</code> then) or if
  the cache is shared

@public