String (XmlFile file, Int2ObjectMap<String> map, String text, int start) { final StringBuilder result = new StringBuilder(); for (int i = 0; i < text.length(); i++) { char c = text.charAt(i); final PsiElement element = file.findElementAt(start + i); if (element != null && isCharacterElement(element)) { if (c == '<' || c == '>' || c == '&' || c == '"' || c == '\'' || c > 0x7f) { final String escape = map.get(c); if (escape != null) { result.append("&").append(escape).append(";"); continue; } } } result.append(c); } return result.toString(); }