public static INode FindInnermostNodeContainingSelection(INode node, Location start, Location end)
        {
            if (node == null)
            {
                return(null);
            }
            var findInnermostVisitor = new FindInnermostNodeByRangeVisitor(start, end);

            node.AcceptVisitor(findInnermostVisitor, null);
            return(findInnermostVisitor.InnermostNode);
        }
        static INode FindInnermostNode(INode node, Location position)
        {
            if (node == null)
            {
                return(null);
            }
            var findInnermostVisitor = new FindInnermostNodeByRangeVisitor(position);

            node.AcceptVisitor(findInnermostVisitor, null);
            return(findInnermostVisitor.InnermostNode);
        }