Magento\Quote\Model\Quote::assignCustomerWithAddressChange() incorrectly rewrites an already chosen shipping address with the default one

Magento 2.0.0 (as all other currently released Magento 2 versions) has the same bug: 2.0.0/app/code/Magento/Quote/Model/Quote.php#L896-L946

I have implemented a workaround in the 3.5.1 version of the mage2pro/core package: