constructor(
		originModule,
		dependency,
		module,
		explanation,
		weak = false,
		condition = undefined
	) {
		this.originModule = originModule;
		this.resolvedOriginModule = originModule;
		this.dependency = dependency;
		this.resolvedModule = module;
		this.module = module;
		this.weak = weak;
		this.conditional = Boolean(condition);
		this._active = condition !== false;
		this.condition = condition || undefined;
		/** @type {Set<string> | undefined} */
		this.explanations = undefined;
		if (explanation) {
			this.explanations = new Set();
			this.explanations.add(explanation);
		}
	}
@param {Module|null} originModule the referencing module
@param {Dependency|null} dependency the referencing dependency
@param {Module} module the referenced module
@param {string=} explanation some extra detail
@param {boolean=} weak the reference is weak
@param {false | null | GetConditionFn | undefined} condition condition for the connection