@Contract(pure = true)
  private static @Range(from = 0, to = Integer.MAX_VALUE) int getIndent(String@NotNull [] lines, int firstLine, int lastLine) {
    int minIndent = Integer.MAX_VALUE;
    for (int i = firstLine; i <= lastLine && i < lines.length; i++) {
      String line = lines[i];
      final int indentLength;
      if (isEmptyOrSpacesWithLeadingAsterisksOnly(line)) {
        indentLength = line.length();
      }
      else {
        indentLength = calculateIndent(line);
      }
      if (minIndent > indentLength) minIndent = indentLength;
    }
    if (minIndent == Integer.MAX_VALUE) minIndent = 0;
    return minIndent;
  }
@Contract(pure = true)
  private static @Range(from = 0, to = Integer.MAX_VALUE) int getIndent(String@NotNull [] lines, int firstLine, int lastLine)