function isEqualReconstructedUI(sContainerKey, sAggregationName, aInitialUIElementIds, aTargetUIElementIds, aCondenserInfos) {
		const mUISimulatedStates = {};

		aCondenserInfos.forEach((oCondenserInfo) => {
			const sContainerKey = oCondenserInfo.targetContainer;
			mUISimulatedStates[sContainerKey] ||= {};
			const mUIAggregationState = mUISimulatedStates[sContainerKey];
			mUIAggregationState[sAggregationName] ||= Utils.initializeArrayWithPlaceholders(0, aInitialUIElementIds.length - 1);

			INDEX_RELATED[oCondenserInfo.classification].simulate(mUIAggregationState[sAggregationName], oCondenserInfo, aInitialUIElementIds);
		});

		const aSortedUIElementIds = mUISimulatedStates[sContainerKey][sAggregationName];
		if (isEqual(aTargetUIElementIds, aSortedUIElementIds)) {
			aCondenserInfos.forEach((oCondenserInfo) => {
				if (oCondenserInfo.sameIndex) {
					oCondenserInfo.change.condenserState = "delete";
				}
			});
			return true;
		}
		return false;
	}
Simulates the set of changes and checks if the simulation is equal to the target state

@param {string} sContainerKey - Selector ID of the container
@param {string} sAggregationName - Name of the aggregation
@param {string[]} aInitialUIElementIds - Array of the initial UI element IDs
@param {string[]} aTargetUIElementIds - Array of the target UI element IDs
@param {object[]} aCondenserInfos - Array of condenser info objects
@returns {boolean} <code>true</code> if the simulated and the target UI reconstructions are equal