public static ITrackable GetTrackableByPath( this ITrackable trackable, string path) { if (string.IsNullOrEmpty(path)) { return(trackable); } var si = path.IndexOf('/'); if (si != -1) { var child = trackable.GetChildTrackable(path.Substring(0, si)); return(child?.GetTrackableByPath(path.Substring(si + 1))); } else { return(trackable.GetChildTrackable(path)); } }