private IList <IXmlToken> getStringsToCheck() { IList <IXmlToken> tokens = new List <IXmlToken>(); IXmlFile xmlFile = _file.GetTheOnlyPsiFile(XmlLanguage.Instance) as IXmlFile; if (xmlFile != null) { IXmlTag root = xmlFile.GetTag(delegate(IXmlTag tag) { return(tag.GetTagName() == "root"); }); if (root != null) { IEnumerable <IXmlTag> datas = root.GetTags <IXmlTag>().Where(tag => tag.GetTagName() == "data"); foreach (IXmlTag data in datas) { if (data.GetAttribute("type") == null) { IXmlTag val = data.GetTag(delegate(IXmlTag tag) { return(tag.GetTagName() == "value"); }); if (val != null) { if (val.FirstChild != null && val.FirstChild.NextSibling != null) { IXmlToken value = val.FirstChild.NextSibling as IXmlToken; if (value != null) { tokens.Add(value); } } } } } } } return(tokens); }