private void RemoveAllElementSources(IModelElement element) { if (elementSources.Remove(element)) { foreach (var item in element.Descendants()) { elementSources.Remove(item); } } }
private void AddAllElementSources(IModelElement createdElement, IModelChange currentChange) { var changeMe = (ModelElement)currentChange; if (!elementSources.ContainsKey(createdElement)) { elementSources.Add(createdElement, new ElementSourceInfo(changeMe, "addedElement")); foreach (ModelElement item in createdElement.Descendants()) { var relative = item.CreateUriWithFragment(null, false, createdElement); if (relative != null) { elementSources.Add(item, new ElementSourceInfo(changeMe, "addedElement/" + relative.OriginalString)); } } } }