I don't think that will work. What if you try to add the same product multiple times?

I would leave the original logic and use a custom CartLine instead.