dependsOn(oDependantModule) {
			const dependant = oDependantModule.name,
				visited = Object.create(null),
				stack = log.isLoggable() ? [this.name, dependant] : undefined;

			// log.debug("checking for a cycle between", this.name, "and", dependant);
			function visit(mod) {
				if ( !visited[mod] ) {
					// log.debug("  ", mod);
					visited[mod] = true;
					const pending = mModules[mod]?.pending;
					if (Array.isArray(pending) &&
						(pending.includes(dependant) || pending.some(visit)) ) {
						stack?.push(mod);
						return true;
					}
				}
				return false;
			}

			const result = this.name === dependant || visit(this.name);
			if ( result && stack ) {
				log.error("Dependency cycle detected: ",
					stack.reverse().map((entry, idx) => `${"".padEnd(idx)} -> ${entry}`).join("\n").slice(4)
				);
			}
			return result;
		}
Checks whether this module depends on the given module.

When a module definition (define) is executed, the requested dependencies are added
as 'pending' to the Module instance. This function checks if the oDependantModule is
reachable from this module when following the pending dependency information.

Note: when module aliases are introduced (all module definitions in a file use an ID that differs
from the request module ID), then the alias module is also added as a "pending" dependency.

@param {Module} oDependantModule Module which has a dependency to <code>oModule</code>
@returns {boolean} Whether this module depends on the given one.
@private