String (PsiElement e, boolean property) { if (property) return DescriptiveNameUtil.getDescriptiveName(e); //NON-NLS - suprress warning List<String> path = new ArrayList<>(); do { path.add(DescriptiveNameUtil.getDescriptiveName(e)); } while ((e = PsiTreeUtil.getParentOfType(e, XmlTag.class)) != null); Collections.reverse(path); return StringUtil.join(path, "."); }