public void VisitComposite(IComposite <T> composite) { composite.Children.ForEach(child => child.AcceptComposite(this)); composite.Accept(this); }