public void Save() { lock (_changed) { _logger.Info($"Saving {_changed.Count} items."); foreach (var content in _changed) { if (content is INovel novel) { var file = new ContentFolder(content.Source); file.Save(novel.Content); file.Save(novel.Format); } if (content is IArticle article) { var file = new ContentFolder(content.Source); file.Save(article.Content); } } _changed.Clear(); _logger.Info("Saved."); } }