Ways to Copy
lCopy constructor
lstatic copy method
lclone() method (returns copy)

lAny of these can be defined in terms of the other.