public static IEnumerable <KeyValuePair <string, ITracker> > GetChangedTrackersWithPath( this ITrackable trackable, string parentPath = null) { foreach (var item in trackable.GetChangedTrackablesWithPath(parentPath)) { var tracker = item.Value.Tracker; if (tracker != null) { yield return(new KeyValuePair <string, ITracker>(item.Key, item.Value.Tracker)); } } }