XPathVariable () { if (getContainingFile().getLanguage() == XPathFileType.XPATH2.getLanguage()) { XPathVariableHolder f = PsiTreeUtil.getParentOfType(this, XPathVariableHolder.class, true); while (f != null) { final XPathVariable variable = findVariable(f.getVariables(), getReferencedName()); if (variable != null) { return variable; } f = PsiTreeUtil.getParentOfType(f, XPathVariableHolder.class, true); } } final VariableContext context = getXPathContext().getVariableContext(); if (context == null) { return null; } return context.resolve(this); }