protected virtual void RenewChild() { var model = Element as Model; if (model != null && model.Repository != null) { Child = new BubbledChangeRepositoryFetcher(model.Repository, this); Child.Attach(); } else if (Element.Parent == null) { Child = null; } else { Child = new BubbledChangeFetcher(this); Child.Attach(); } }