boolean (@NotNull String chars, boolean textBlock, @NotNull StringBuilder out, int @Nullable [] sourceOffsets) { int index = 0; final int outOffset = out.length(); while (index < chars.length()) { char c = chars.charAt(index++); if (sourceOffsets != null) { sourceOffsets[out.length() - outOffset] = index - 1; sourceOffsets[out.length() + 1 - outOffset] = index; } if (c != '\\') { out.append(c); continue; } index = parseEscapedSymbol(false, chars, index, textBlock, out); if (index == -1) return false; if (sourceOffsets != null) { sourceOffsets[out.length() - outOffset] = index; } } return true; }