@Contract(pure = true)
  private static @Range(from = 0, to = Integer.MAX_VALUE) int getStartOffsetOfFirstNonEmptyLine(@NotNull TextRange snippetBodyTextRangeRelativeToSnippet, String@NotNull [] lines, int firstLine) {
    int start = snippetBodyTextRangeRelativeToSnippet.getStartOffset();
    for (int i = 0; i < Math.min(firstLine, lines.length); i++) {
      start += lines[i].length() + 1;
    }
    return start;
  }
@Contract(pure = true)
  private static @Range(from = 0, to = Integer.MAX_VALUE) int getStartOffsetOfFirstNonEmptyLine(@NotNull TextRange snippetBodyTextRangeRelativeToSnippet, String@NotNull [] lines, int firstLine)