The create internal shipment should update existing waiting shipment
I think it should do the same as the purchase request creation with the method 'compare_requests'.
This will reduce the number of internal shipment created in case not all previous one have been proceeded.