code: public static void deleteFileOrDirectory(File file) throws IOException {
  		checkNotNull(file, "file");
  
  		guardIfWindows(FileUtils::deleteFileOrDirectoryInternal, file);
  	}
docs: Removes the given file or directory recursively.
  
  <p>If the file or directory does not exist, this does not throw an exception, but simply does nothing.
  It considers the fact that a file-to-be-deleted is not present a success.
  
  <p>This method is safe against other concurrent deletion attempts.
  
  @param file The file or directory to delete.
  
  @throws IOException Thrown if the directory could not be cleaned for some reason, for example
  due to missing access/write permissions.