internal bool ExistInProject(IVsHierarchy projectHierarchy)
        {
            // Reset _foundMatch value.
            _foundMatch = false;

            var vsp4 = projectHierarchy as IVsProject4;
            if (vsp4 != null)
            {
                // use IVsProject4 if available - it is much faster than the other other mechanism, but all projects may not implement it
                _foundMatch = ExistInProjectFast(vsp4);
            }
            else
            {
                var visitor = new HierarchyVisitor(DoesItemMatch);
                visitor.VisitHierarchy(projectHierarchy);
            }

            return _foundMatch;
        }
        internal List<VSFileInfo> FindInProject(IVsHierarchy projectHierarchy)
        {
            var vsp4 = projectHierarchy as IVsProject4;
            if (vsp4 != null)
            {
                // use IVsProject4 if available - it is much faster than the  other mechanism, but all projects may not implement it
                FindInProjectFast(vsp4, projectHierarchy);
            }
            else
            {
                var visitor = new HierarchyVisitor(AddMatchFileInfoToResult);
                visitor.VisitHierarchy(projectHierarchy);
            }

            return _paths;
        }