function doEnhance() {
			if (oData instanceof ResourceBundle) {
				that._oResourceBundle._enhance(oData);
				that.checkUpdate(true);
				if (oPromise) {
					fResolve(true);
				}
			} else {
				if (oData.terminologies) {
					throw new Error("'terminologies' parameter is not"
						+ " supported for enhancement");
				}
				var bundle = ResourceModel.loadResourceBundle(oData, that.bAsync);

				if (bundle instanceof Promise) {
					bundle.then(function (customBundle) {
						that._oResourceBundle._enhance(customBundle);
						that.checkUpdate(true);
						fResolve(true);
					}, function () {
						fResolve(true);
					});
				} else if (bundle) {
					that._oResourceBundle._enhance(bundle);
					that.checkUpdate(true);
				}
			}
		}
Enhances the resource model with a custom resource bundle.

The custom bundle can define new texts for keys existing in the main bundle, texts for new
keys, or both. A resource model can be enhanced with multiple resource bundles by calling
this method multiple times. Each call appends to the list of enhancements, but no bundle can
be removed from the list.

When looking up a text for a key, the enhancements are processed in reverse order. Texts from
the last added resource bundle are preferred over texts from previously added bundles or
texts from the main bundle.

@param {module:sap/base/i18n/ResourceBundle|object} oData
  Either an already loaded bundle instance, or a configuration object with parameters to load
  a new resource bundle. When a configuration object is given, at least one of
  <code>bundleUrl</code> or <code>bundleName</code> must be set; if both are set,
  <code>bundleName</code> wins
@param {string} [oData.bundleLocale]
  A locale in "BCP-47 language tag" notation specifying the locale in which to load the
  bundle; when not given, the current session locale of UI5 is used (recommended)
@param {string} [oData.bundleName]
  UI5 module name in dot notation, referring to the base ".properties" file; this name is
  resolved to a path like the paths of normal UI5 modules, and ".properties" is then
  appended (e.g. a name like "myapp.i18n.myBundle" can be given); relative module names are
  not supported
@param {string} [oData.bundleUrl]
  URL pointing to the base ".properties" file of a bundle (".properties" file without any
  locale information, e.g. "../../i18n/mybundle.properties"); relative URLs are evaluated
  relative to the document.baseURI
@returns {Promise|null} A Promise resolving when the enhancement is finished or
  <code>null</code> if the <code>ResourceModel</code> is configured to act synchronously
@since 1.16.1
@public