reset(mPropertyBag) {
			BusyIndicator.show(0); // Reset takes a long time with app descriptor changes, so a BusyIndicator is needed.
			var aChanges = [];
			var oTransportSelectionPromise = Promise.resolve(); // By default, no transport needed for USER layer

			if (mPropertyBag.layer !== Layer.USER) {
				aChanges = mPropertyBag.changes;
				oTransportSelectionPromise = Settings.getInstance().then(function(oSettings) {
					if (!oSettings.getIsProductiveSystem()) {
						return new TransportSelection().setTransports(aChanges, Component.getComponentById(mPropertyBag.reference)).then(function() {
							// Make sure we include one request in case of mixed changes (local and transported)
							aChanges.some(function(oChange) {
								if (oChange.getRequest()) {
									mPropertyBag.changelist = oChange.getRequest();
									return true;
								}
								return false;
							});
						});
					}
				});
			}

			return oTransportSelectionPromise.then(function() {
				BusyIndicator.show(0); // Re-display the busy indicator in case it was hide by transport selection
				var aParameters = ["reference", "layer", "changelist", "generator"];
				var mParameters = _pick(mPropertyBag, aParameters);

				InitialConnector._addClientInfo(mParameters);

				if (mPropertyBag.selectorIds) {
					mParameters.selector = mPropertyBag.selectorIds;
				}
				if (mPropertyBag.changeTypes) {
					mParameters.changeType = mPropertyBag.changeTypes;
				}

				delete mPropertyBag.reference;
				var sResetUrl = InitialUtils.getUrl(ROUTES.CHANGES, mPropertyBag, mParameters);
				var sTokenUrl = InitialUtils.getUrl(ROUTES.TOKEN, mPropertyBag);
				var oRequestOption = WriteUtils.getRequestOptions(
					InitialConnector,
					sTokenUrl
				);
				return WriteUtils.sendRequest(sResetUrl, "DELETE", oRequestOption).then(function(oResponse) {
					if (oResponse && oResponse.response) {
						oResponse.response.forEach(function(oContentId) {
							oContentId.fileName = oContentId.name;
							delete oContentId.name;
						});
					}
					BusyIndicator.hide();
					return oResponse;
				}).catch(function(oError) {
					BusyIndicator.hide();
					return Promise.reject(oError);
				});
			});
		}
Resets flexibility files for a given application and layer.

@param {object} mPropertyBag Property bag
@param {sap.ui.fl.Layer} mPropertyBag.layer Layer
@param {string} mPropertyBag.reference Flex reference of the application
@param {string} mPropertyBag.url Configured url for the connector
@param {string} mPropertyBag.changelist Transport Id
@param {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} mPropertyBag.changes Changes of the selected layer and flex reference
@param {string} [mPropertyBag.generator] Generator with which the changes were created
@param {string} [mPropertyBag.selectorIds] Selector IDs of controls for which the reset should filter (comma-separated list)
@param {string} [mPropertyBag.changeTypes] Change types of the changes which should be reset (comma-separated list)
@returns {Promise} Promise resolves as soon as the reset has completed