public override void Visit(SyntaxNode node) { CSharpSyntaxNode csNode = node as CSharpSyntaxNode; if (currentAccumulator.PushIfNeccessary(csNode)) { strategies.InitializeStrategyDataForNewNode(); } strategies.ProcessAllStrategies(csNode); base.Visit(node); currentAccumulator.PopIfNecessary(csNode); }