protected static byte @NotNull [] readIfNotTooLarge(Path nioFile) throws IOException {
    //MAYBE RC: The only reason to get file size here is to check it is not too big. We could skip this check, and start
    //          to load the file, and throw the exception if _loaded_ size exceeds the limit -- huge files are infrequent
    //          cases, so this approach optimizes the fast path.
    //          ...but this is probably an overkill: nioFile.size is requested inside Files.readAllBytes() anyway,
    //          and OSes cache file-system requests, so 2 file.size() requests one after another cost almost the same
    //          as a first file.size() request alone. So that optimization needs to be carefully benchmarked to prove it
    //          does provide anything -- and my guess: it probably doesn't
    var length = Files.size(nioFile);
    if (FileUtilRt.isTooLarge(length)) {
      throw new FileTooBigException("File " + nioFile.toAbsolutePath() + " is too large (=" + length + " b)");
    }
    return Files.readAllBytes(nioFile);
  }
protected static byte @NotNull [] readIfNotTooLarge(Path nioFile)