public override void Save() { FileEx.CopyIfExists(FilePath, BackupPath, true); try { _serializer.Serialize(FilePath); } catch (Exception e) { FileEx.MoveOverwriting(BackupPath, FilePath); Log.Error( "Exception while saving PersistentData. Backup file was restored and changes may be lost.", e); } }