code: @NotNull
      public static File createTempDirectory(@Nullable final File base) throws IOException {
          final File tempDir = new File(base, "dctemp" + UUID.randomUUID().toString());
          if (tempDir.exists()) {
              return createTempDirectory(base);
          }
          if (!tempDir.mkdirs()) {
              throw new IOException("Could not create temp directory `" + tempDir.getAbsolutePath() + "`");
          }
          LOGGER.debug("Temporary directory is `{}`", tempDir.getAbsolutePath());
          return tempDir;
      }
docs: Creates a unique temporary directory in the given directory.
  
  @param base the base directory to create a temporary directory within
  @return the temporary directory
  @throws java.io.IOException thrown when a directory cannot be created
  within the base directory