procedure Assign(source: TPersistent); override;
Copies the data from the source into this instance, which is cleared first. This is a deep copy, unless the list contains a pointer type other than an object. If the list contains objects and owns the objects (GTL_OWNSOBJECTS defined) then the object class MUST have a public Clone method, or a compiler error will result! If the list does not own the objects the copy is shallow, the new list stores references to the same objects as aList. Error Conditions: If source is not of this list class the inherited Assign is called and that will raise an exception!