Why reconstruct it? Pass the cart instance and the request instance. I don't believe this method is part of _cart's_ behaviour and thus does not belong here.