function getCssomForAllRootNodes(rootNodes, convertDataToStylesheet, timeout) {
	const q = axe.utils.queue();

	rootNodes.forEach(({ rootNode, shadowId }, index) =>
		q.defer((resolve, reject) =>
			loadCssom({
				rootNode,
				shadowId,
				timeout,
				convertDataToStylesheet,
				rootIndex: index + 1
			})
				.then(resolve)
				.catch(reject)
		)
	);

	return q;
}
function getCssomForAllRootNodes(rootNodes, convertDataToStylesheet, timeout) {
	const q = axe.utils.queue();

	rootNodes.forEach(({ rootNode, shadowId }, index) =>
		q.defer((resolve, reject) =>
			loadCssom({
				rootNode,
				shadowId,
				timeout,
				convertDataToStylesheet,
				rootIndex: index + 1
			})
				.then(resolve)
				.catch(reject)
		)
	);

	return q;
}
function getCssomForAllRootNodes ( rootNodes , convertDataToStylesheet , timeout ) { const q = axe . utils . queue ( ) ; rootNodes . forEach ( ( { rootNode , shadowId } , index ) => q . defer ( ( resolve , reject ) => loadCssom ( { rootNode , shadowId , timeout , convertDataToStylesheet , rootIndex : index + 1 } ) . then ( resolve ) . catch ( reject ) ) ) ; return q ; }
Deferred function for CSSOM queue processing on all root nodes

@param {Array<Object>} rootNodes array of root nodes, where node  is an enhanced `document` or `documentFragment` object returned from `getAllRootNodesInTree`
@param {Function} convertDataToStylesheet fn to convert given data to Stylesheet object
@returns {Object} `axe.utils.queue`
Deferred function for CSSOM queue processing on all root nodes
Get the cssom for all root nodes