How does Drupal Commerce store Addresses for anonymous users I'm trying to figure out how exactly does Drupal Commerce store Addresses for anonymous users?

Let's say an anonymous user creates a shopping cart and fills in the shipping information, but has not yet completed the checkout (payment for example, so shipping information is already stored with the order). At this point, has the system already created a shipping entity, if so, then to whom, as the anonymous user ID is 0.

Else if the Shipping information gets stored only upon checkout completion, still, to whom is it assigned? Who is the owner of the address.

Commerce also allows for an anonymous user to later create an account that has all their order history and shipping addresses, has there been assigned a new unused user ID for the user, just in case they decide to register, to associate all this information, or is the address originally only tied to the order it self, with owner ID 0, and the user profile is created upon registration based on the order details?

Why I'm asking for all this, is that I'm creating an order process where the address is assigned for each product separately, and on checkout each product with different shipping address is moved to a new order with the specific shipping address. And with this in mind I still wish to keep the possibility for making anonymous purchases, and am trying to figure out the dynamics of the shipping addresses :)

Best regards,

Alari
Commerce will always create a new user upon completion of the checkout process of anonymous orders. This happens in a rule named "Create a new account for an anonymous order":

admin/config/workflow/rules/reaction/manage/commerce_checkout_new_account

If you want to clone the order, then, just act after the aforementioned rule has executed by creating a rule with a higher weight.