code: function(bAsync) {
  
  			// find i18n property paths in the manifest if i18n texts in
  			// the manifest which should be processed
  			var aI18nProperties = [];
  			processObject(this._oManifest, function(oObject, sKey, vValue) {
  				var match = vValue.match(rManifestTemplate);
  				if (match) {
  					aI18nProperties.push({
  						object: oObject,
  						key: sKey
  					});
  				}
  			});
  
  			if (aI18nProperties.length > 0) {
  
  				var fnReplaceI18n = function(oResourceBundle) {
  					var fnReplaceI18nText = function(sMatch, sI18nKey) {
  						return oResourceBundle.getText(sI18nKey);
  					};
  					for (var i = 0, l = aI18nProperties.length; i < l; i++) {
  						var oProperty = aI18nProperties[i];
  						oProperty.object[oProperty.key] = oProperty.object[oProperty.key].replace(rManifestTemplate, fnReplaceI18nText);
  					}
  				};
  
  				if (bAsync) {
  					return this._loadI18n(bAsync).then(fnReplaceI18n);
  				} else {
  					fnReplaceI18n(this._loadI18n(bAsync));
  				}
  
  			} else {
  				return bAsync ? Promise.resolve() : undefined;
  			}
  
  		}
docs: Triggers the processing of the i18n texts to replace them
  with the values from "sap.app/i18n"
  
  @param {boolean} bAsync true, if the ResourceBundle will be loaded async
  @return {Promise|undefined} when using the API async it will return a Promise which resolves when the texts have been replaced