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);
        }