create(mPropertyBag) {
			if (!mPropertyBag.layer) {
				return Promise.reject("Layer must be provided");
			}

			if (!mPropertyBag.selector || !mPropertyBag.selector.appId) {
				return Promise.reject("selector.appId must be provided");
			}

			if (!mPropertyBag.id) {
				return Promise.reject("App variant ID must be provided");
			}

			mPropertyBag.reference = ManifestUtils.getFlexReferenceForSelector(mPropertyBag.selector);

			// Pass a flag to determine the consumer who is calling SaveAs handler
			mPropertyBag.isForSmartBusiness = true;

			return _checkSettingsAndExecuteActionByName("saveAs", mPropertyBag);
		}
Creates and saves the app variant in backend.

@param {object} mPropertyBag - Object with parameters as properties
@param {sap.ui.fl.Selector} mPropertyBag.selector - Selector
@param {string} mPropertyBag.selector.appId - ID of the reference application
@param {string} mPropertyBag.id - App variant ID
@param {sap.ui.fl.Layer} mPropertyBag.layer - Current working layer
@param {string} [mPropertyBag.transport] - Transport request for the app variant;
Transport is required for onPremise systems until the app variant is not intended to be saved as a local object;
Transport is not required for S4/Hana Cloud systems


@param {string} [mPropertyBag.package] - Package info for the app variant;
Package is required if the app variant is intended for VENDOR or CUSTOMER_BASE layer in onPremise systems;
Package could be filled with $TMP if the app variant is intended to be saved as a local object

@param {string} [mPropertyBag.version] - Version of the app variant

@returns {Promise} Promise which gets resolved with the app variant update response or gets rejected with a first error
@private
@ui5-restricted