function checkForRtaStartOnDraftAndReturnResult(oComponent) {
		// if the FLP is available the restart behavior is handled there
		if (Utils.getUshellContainer()) {
			return Promise.resolve();
		}

		var sRestartingComponent = window.sessionStorage.getItem(`sap.ui.rta.restart.${Layer.CUSTOMER}`);
		if (sRestartingComponent) {
			var sComponentId = ManifestUtils.getFlexReferenceForControl(oComponent);
			if (sRestartingComponent !== sComponentId && sRestartingComponent !== "true") {
				Log.error(`an application component was started which does not match the component for which the restart was triggered:
					Triggering component: ${sRestartingComponent}
					Started component: ${sComponentId}`);

				return Promise.resolve();
			}

			return new Promise(function(resolve, reject) {
				Promise.all([
					Lib.load({name: "sap.ui.rta"}),
					oComponent.rootControlLoaded()
				])
				.then(function() {
					sap.ui.require(["sap/ui/rta/api/startKeyUserAdaptation"], function(startKeyUserAdaptation) {
						startKeyUserAdaptation({
							rootControl: oComponent
						});
						resolve();
					});
				})
				.catch(function(oError) {
					reject(oError);
				});
			});
		}

		return Promise.resolve();
	}
The fl library must ensure a proper rta startup by a lazy loading of the rta library and starting RTA accordingly.
This is needed in the stand alone scenario; ATTENTION: if also the ushell-plugin of rta runs, the first one will
actually trigger the reload and clear the flag for the second.

@param {object} oComponent - Application component about to be started
@returns {Promise<undefined>} Resolves with undefined