code: public File getTempFile(@NotNull final String prefix, @NotNull final String extension) throws IOException {
          final File dir = getTempDirectory();
          final String tempFileName = String.format("%s%s.%s", prefix, UUID.randomUUID().toString(), extension);
          final File tempFile = new File(dir, tempFileName);
          if (tempFile.exists()) {
              return getTempFile(prefix, extension);
          }
          return tempFile;
      }
docs: Generates a new temporary file name that is guaranteed to be unique.
  
  @param prefix the prefix for the file name to generate
  @param extension the extension of the generated file name
  @return a temporary File
  @throws java.io.IOException if any.