code: public static void deleteRecursively(@NonNull final File file) throws IOException {
          Condition.INSTANCE.ensureNotNull(file, "The file or directory may not be null");
  
          if (file.isDirectory()) {
              for (File child : file.listFiles()) {
                  deleteRecursively(child);
              }
          }
  
          delete(file);
      }
docs: Deletes a specific file or directory. If the file is a directory, all contained files and
  subdirectories are deleted recursively.
  
  @param file
  The file or directory, which should be deleted, as an instance of the class {@link
  File}. The file or directory may not be null
  @throws IOException
  The exception, which is thrown, if an error occurs while deleting the file or
  directory