protected override object DeepCloneMe() { DocumentState cloned = new DocumentState(); cloned.LinkedDocument = this.LinkedDocument; cloned.HasBeenDeleted = this.HasBeenDeleted; cloned.Handle = this.Handle; if (FileName != null) cloned.FileName = FileName.Clone(); if (CustomData != null) cloned.CustomData = CustomData.Clone(); return cloned; }