protected IEnumerable<Action> GetBefores() { if (Parent == null) return new[] { Before }; return new[] { Before }.Union(Parent.GetBefores()); }