function setBranchCounts(oCurrent, oCounts) {
		const oCurrentBranchCounts = oCurrent.b;
		const oBranchCounts = oCounts.b;
		for (const [sKey, aInitialCounts] of Object.entries(oBranchCounts)) {
			const aCurrentCounts = oCurrentBranchCounts[sKey];
			aInitialCounts.forEach((iCount, i) => { aCurrentCounts[i] = iCount; });
		}
	}
*******************************************************************************************
	// Methods dealing with Istanbul
	//**********************************************************************************************

	// the initial coverage per module (identified by resource name), taken when QUnit starts
	let mInitialCoverageByModule;
	const mCoverageSnapshotByModule = {};
	const bTestsFiltered = /(testId|filter)=/.test(window.location.search);

	function filterCoverage() {
		if (window.__coverage__ && Object.keys(mCoverageSnapshotByModule).length) {
			if (window.location.search.includes("moduleId=")) {
				// only keep the coverage for the actually tested modules
				window.__coverage__ = mCoverageSnapshotByModule;
			} else {
				// replace globally measured code coverage by isolated code coverage results
				for (const [sModuleName, oCounts] of Object.entries(mCoverageSnapshotByModule)) {
					setModuleCoverage(sModuleName, oCounts);
				}
			}
		}
	}

	function getResourceName(sModuleName) {
		if (!window.__coverage__) {
			return undefined;
		}
		if (sModuleName.endsWith(".js")) {
			return sModuleName;
		}
		const sPath = `${sModuleName.replace(/\./g, "/")}.js`;
		return Object.keys(window.__coverage__)
			.find((sResourceName) => sResourceName.endsWith(sPath));
	}

	/**
Replaces the current code coverage counts for branches by the given counts.

@param {object} oCurrent The current branch counts
@param {object} oCounts The branch counts to be used