deep copy (2)
Merge remote-tracking branch 'origin/4.5.2' into 4.5.2