public void Accept(IVisitor visitor) { visitor.BeforeCase(); foreach (var c in cases) { c.Accept(visitor); } visitor.AfterCase(); }