public virtual Object Clone() { // Since we are the lowest level base class, do a // shallow copy which will include the derived classes. // From here we would do deep cloning of other objects // if we had any. return this.MemberwiseClone(); }