async createComponent(mPropertyBag) {
			if (await this.isContextSharingEnabled(mPropertyBag)) {
				oComponentPromise = oComponentPromise.then(async (oComponentContainer) => {
					if (oComponentContainer && !oComponentContainer.isDestroyed()) {
						return oComponentContainer;
					}
					const oComponent = await Component.create({
						name: "sap.ui.fl.variants.context", id: "contextSharing"
					});
					oComponent.showMessageStrip(true);
					oComponent.setSelectedContexts({role: []});
					// Ensure view is fully loaded
					oComponentContainer = new ComponentContainer("contextSharingContainer", {component: oComponent});
					await oComponent.getRootControl().oAsyncState.promise;
					return oComponentContainer;
				});
				return oComponentPromise;
			}
			return undefined;
		}
Creates component for sharing contexts in variant management.
In case the component already exists, it will not be created again to avoid duplicate IDs.
<code>sap.ui.fl.variants.context.Component.setSelectedContexts</code> needs to be called afterwards.

@param {object} mPropertyBag - Object with parameters as properties
@param {string} [mPropertyBag.layer] - Layer
@param {sap.ui.core.Control} [mPropertyBag.variantManagementControl] - Comp or control variant management control
@returns {Promise<sap.ui.core.ComponentContainer>} Promise resolving with the ComponentContainer or nothing depending on the availability of the feature in the used back end
@private
@ui5-restricted sap.ui.comp, sap.ui.fl