XmlDocument () { for (PsiElement elem = getParent(); elem != null; elem = elem.getParent()) { if (elem instanceof XmlDocument) { return (XmlDocument)elem; } if (elem instanceof PsiFile) { break; // optimization } } return null; }