So the key question is actually about the line originally commented on: ` DonutShop* m = new DonutShop(*this);`

In its context is:
```
virtual Model* Clone() {
    DonutShop* m = new DonutShop(*this);
    m->InitFrom(this);
    return m;
};
```

We have already stated that the core will call the (virtual) `Clone` method. This method call travels down the inheritance tree. We then require developers to call a constructor (which constructor? why? when does it matter?). We then require developers to call the `InitFrom` method on their newly constructed (most derived) object.

In short, the `Clone` method has already traveled down to the deepest level of the inheritance tree. From that point, the deepest level copy constructors can be (and in fact are, currently) invoked.