private IEnumerable <IProjectItem> GetChangedItems(IGrouping <string, IProjectItem> oldGroup, IGrouping <string, IProjectItem> newGroup) { var itemsWithSameInclude = newGroup.Intersect(oldGroup, ProjectItemComparer.IncludeComparer); var itemsWithSameMetadata = newGroup.Intersect(oldGroup, ProjectItemComparer.MetadataComparer); return(itemsWithSameInclude.Except(itemsWithSameMetadata)); }