function createContextBasedAdaptation(mPropertyBag, oContextBasedAdaptation) {
		return Storage.contextBasedAdaptation.create({
			layer: mPropertyBag.layer,
			flexObject: oContextBasedAdaptation,
			appId: mPropertyBag.appId,
			parentVersion: getParentVersion(mPropertyBag)
		}).then(function(oResponse) {
			var oModel = this.getAdaptationsModel(mPropertyBag);
			oModel.insertAdaptation(oContextBasedAdaptation);
			return handleResponseForVersioning(oResponse, mPropertyBag);
		}.bind(this));
	}
Creates a new context-based adaptation
@param {object} mPropertyBag - Object with parameters as properties
@param {string} mPropertyBag.layer - Target layer
@param {string} mPropertyBag.appId - Reference of the application
@param {object} mPropertyBag.control - Control to fetch app reference
@param {object} oContextBasedAdaptation - Parameters for new adaptation
@param {object} oContextBasedAdaptation.id - ID of new context-based adaptation
@param {object} oContextBasedAdaptation.title - Title of new context-based adaptation
@param {object} oContextBasedAdaptation.contexts - Contexts of new context-based adaptation
@param {object} oContextBasedAdaptation.priority - Priority of new context-based adaptation
@returns {Promise<void>} Resolves when done