boolean (@NotNull TextRange rangeInsideHost, @NotNull StringBuilder outChars) { text = myHost.getText(); contentRanges = myHost.getContentRanges(); boolean decoded = false; for (TextRange range : contentRanges) { TextRange intersection = range.intersection(rangeInsideHost); if (intersection == null) continue; decoded = true; String substring = intersection.substring(text); outChars.append(processReplacements(substring, myHost.getDecodeReplacements(substring))); } return decoded; }