public static void RollbackDeep(this ITrackable trackable) { trackable.Rollback(); foreach (var child in trackable.GetChildTrackables()) { child.Value.RollbackDeep(); } }