Copies values from one entity into another. This clone operation is important because it allows
@override M clone(M source) => source.clone() as M;