public IEnumerable <DocumentId> GetChangedAdditionalDocuments() { // if the document states are different then there is a change. foreach (var id in _newProject.AdditionalDocumentIds) { var newState = _newProject.GetAdditionalDocumentState(id); var oldState = _oldProject.GetAdditionalDocumentState(id); if (oldState != null && newState != oldState) { yield return(id); } } }