if (exports == null) {
synchronized(Require.class) {
exports = this.unresolvedModuleCache.get(cacheKey);
if (exports == null) {
ModuleSource moduleSource = this.loadModuleSource(cx, id, uri, base);
if (moduleSource == null) {
this.unresolvedModuleCache.put(cacheKey, missingModule);
}
else {
exports = this.moduleCache.get(moduleSource.getUri());
if (exports == null) {
exports = this.loadModuleExports(cx, moduleSource, isMain);
}