public NitraReferenceSearcher(NitraSearcherFactory factory, IEnumerable <IDeclaredElement> elements, bool findCandidates, bool searchForLateBound)
        {
            myFindCandidates     = findCandidates;
            mySearchForLateBound = searchForLateBound;
            myElements           = new JetHashSet <IDeclaredElement>(elements);

            myNames       = new JetHashSet <string>();
            myWordsInText = new JetHashSet <string>();

            foreach (var element in myElements)
            {
                myNames.Add(element.ShortName);
                myWordsInText.UnionWith(factory.GetAllPossibleWordsInFile(element));
            }

            myWordIndex = myElements.First().GetPsiServices().WordIndex;
        }