loadFlexData(mPropertyBag) {
			var sComponentName = ManifestUtils.getBaseComponentNameFromManifest(mPropertyBag.manifest);

			if (mPropertyBag.partialFlexData) {
				return ApplyStorage.completeFlexData({
					reference: mPropertyBag.reference,
					componentName: sComponentName,
					partialFlexData: mPropertyBag.partialFlexData
				}).then(formatFlexData);
			}

			// the cache key cannot be used in case of a reinitialization
			var sCacheKey = mPropertyBag.reInitialize ? undefined : ManifestUtils.getCacheKeyFromAsyncHints(mPropertyBag.reference, mPropertyBag.asyncHints);

			return ApplyStorage.loadFlexData({
				preview: ManifestUtils.getPreviewSectionFromAsyncHints(mPropertyBag.asyncHints),
				reference: mPropertyBag.reference,
				componentName: sComponentName,
				cacheKey: sCacheKey,
				siteId: getSideId(mPropertyBag.componentData),
				appDescriptor: mPropertyBag.manifest.getRawJson ? mPropertyBag.manifest.getRawJson() : mPropertyBag.manifest,
				version: mPropertyBag.version,
				allContexts: mPropertyBag.allContexts,
				adaptationId: mPropertyBag.adaptationId
			})
			.then(applyDeactivateChanges.bind())
			.then(filterInvalidFileNames.bind())
			.then(migrateSelectorFlags.bind(undefined, isMigrationNeeded(mPropertyBag.manifest)))
			.then(formatFlexData);
		}
Provides the flex data for a given application based on the configured connectors.
This function needs a manifest object, async hints and either an ID to an instantiated component or component data as parameter.

The property <code>partialFlexData</code> contains the flexData except the data from flexibility-bundle.json or changes-bundle.json.
This is needed in case descriptor changes are required in a maniFirst scenario before the component and thus the bundle can be loaded.

@param {object} mPropertyBag - Contains additional data needed for loading changes
@param {object} mPropertyBag.manifest - ManifestObject that belongs to current component
@param {object} mPropertyBag.reference - Flex Reference
@param {string} mPropertyBag.componentData - Component data of the current component
@param {object} [mPropertyBag.reInitialize] - Flag if the application is reinitialized even if it was loaded before
@param {object} [mPropertyBag.asyncHints] - Async hints passed from the app index to the component processing
@param {number} [mPropertyBag.version] - Number of the version in which the state should be initialized
@param {string} [mPropertyBag.adaptationId] - Context-based adaptation for which the state should be initialized
@param {object} [mPropertyBag.partialFlexData] - Contains current flexstate for this reference, indicator to reload bundles from storage
@param {boolean} [mPropertyBag.allContexts] - Includes also restricted context
@returns {Promise<object>} resolves with the change file for the given component from the Storage