How to check if an union is duplicated

Hello, ive been trying to make a gun system that uses SubtractAsync to make bullet holes but the problem is that the unions are getting cloned. How would i fix this? Here is my code:

local Recycler = require(script.Recycler)

local DestructionHandler = {}

local DestructionPartGroup = Recycler:CreateGroup()

local DestructionPart = Instance.new('Part')
DestructionPart.Anchored = true
DestructionPart.CanCollide = false
DestructionPart.CanQuery = false
DestructionPart.CanTouch = false

	function DestructionHandler:DestroyPosition(Position,Rotation,Radius,Blacklist)
	task.spawn(coroutine.create(function()
	local Params = OverlapParams.new()
	Params.FilterType = Enum.RaycastFilterType.Blacklist
	Params.FilterDescendantsInstances = Blacklist
		local Parts = workspace:GetPartBoundsInRadius(Position,Radius,Params)
		local RecycledDestruction = Recycler:AddItem(DestructionPartGroup,workspace,DestructionPart)
		RecycledDestruction.Position = Position
		RecycledDestruction.Size = Vector3.new(Radius,Radius,Radius)
		RecycledDestruction.Rotation = Rotation
	for _,Part:BasePart in ipairs(Parts) do
		local Subtract = Part:SubtractAsync({RecycledDestruction},Enum.CollisionFidelity.PreciseConvexDecomposition)
			Subtract.Name = Part.Name
			for _,Child in ipairs(Part:GetChildren()) do
				Child.Parent = Subtract
			end
		Subtract.Parent = workspace
	end
	end))
end

return DestructionHandler