After thinking, this method is useless!
Shipments are shipped on a shipment basis, that means that you update one by one the shipment(s) of an order. So this massive method for updating all shipment states at once has no point.
I think you can just delete it. All the work is already done  in `ShipmentListener::ship`.