Implements cloneable