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;
 }