_loadNamespaceData(locale, namespaceObj, isDynamicImport, namespace) {
    const loader = this._getNamespaceLoader(namespaceObj, isDynamicImport, namespace);
    const loaderPromise = this._getNamespaceLoaderPromise(loader, locale, namespace);
    this._cacheNamespaceLoaderPromise(locale, namespace, loaderPromise);
    return loaderPromise.then(
      /**
       * @param {Object} obj
       * @param {Object} obj.default
       */
      obj => {
        // add data only if we have the promise in cache
        if (
          this.__namespaceLoaderPromisesCache[locale] &&
          this.__namespaceLoaderPromisesCache[locale][namespace] === loaderPromise
        ) {
          const data = isLocalizeESModule(obj) ? obj.default : obj;
          this.addData(locale, namespace, data);
        }
      },
    );
  }
@param {string} locale
@param {NamespaceObject} namespaceObj
@param {boolean} isDynamicImport
@param {string} namespace
@returns {Promise<Object|void>}
@protected