public override void VisitPrefixUnaryExpression(PrefixUnaryExpressionSyntax node)
        {
            switch (node.Kind())
            {
            case SyntaxKind.LogicalNotExpression:
                TState trueState;
                TState falseState;
                this.VisitCondition(node, out trueState, out falseState);
                this.SetState(node.EndLocation(), (TState)trueState.Join(falseState));
                break;

            default:
                base.VisitPrefixUnaryExpression(node);
                break;
            }
        }