memoizedFn = function(...args) {
    if (memoize.ENABLE_MEMOIZE) {
      const cacheKey = this || goog.global;
      let cache = MODULE_LOCAL_CACHE.get(cacheKey);
      if (!cache) {
        cache = {};
        MODULE_LOCAL_CACHE.set(cacheKey, cache);
      }
      return reflect.cache(cache, [this, ...args], valueFn, keyFn);
    } else {
      return f.apply(this, args);
    }
  }
@this {Object} The object whose function is being wrapped.
@param {...*} args
@return {?} the return value of the original function.