applySplit = splitData => {
						// Cannot split if id is already taken
						if (splitData.id !== undefined && usedIds.has(splitData.id)) {
							return false;
						}

						// Get module objects from names
						const selectedModules = splitData.modules.map(name =>
							nameToModuleMap.get(name)
						);

						// Does the modules exist at all?
						if (!selectedModules.every(Boolean)) return false;

						// Check if size matches (faster than waiting for hash)
						let size = 0;
						for (const m of selectedModules) size += m.size();
						if (size !== splitData.size) return false;

						// get chunks with all modules
						const selectedChunks = intersect(
							selectedModules.map(
								m => new Set(chunkGraph.getModuleChunksIterable(m))
							)
						);

						// No relevant chunks found
						if (selectedChunks.size === 0) return false;

						// The found chunk is already the split or similar
						if (
							selectedChunks.size === 1 &&
							chunkGraph.getNumberOfChunkModules(
								Array.from(selectedChunks)[0]
							) === selectedModules.length
						) {
							const chunk = Array.from(selectedChunks)[0];
							if (fromAggressiveSplittingSet.has(chunk)) return false;
							fromAggressiveSplittingSet.add(chunk);
							chunkSplitDataMap.set(chunk, splitData);
							return true;
						}

						// split the chunk into two parts
						const newChunk = compilation.addChunk();
						newChunk.chunkReason = "aggressive splitted";
						for (const chunk of selectedChunks) {
							for (const module of selectedModules) {
								moveModuleBetween(chunkGraph, chunk, newChunk)(module);
							}
							chunk.split(newChunk);
							chunk.name = null;
						}
						fromAggressiveSplittingSet.add(newChunk);
						chunkSplitDataMap.set(newChunk, splitData);

						if (splitData.id !== null && splitData.id !== undefined) {
							newChunk.id = splitData.id;
							newChunk.ids = [splitData.id];
						}
						return true;
					}
@param {SplitData} splitData split data
@returns {boolean} true when applied, otherwise false