docs: private static void deleteDirectoryContents(File directory)
          throws IOException {
          Preconditions.checkArgument(directory.isDirectory(),
                                      "Not a directory: %s", directory);
          // Symbolic links will have different canonical and absolute paths
          if (!directory.getCanonicalPath().equals(directory.getAbsolutePath())) {
              return;
          }
          File[] files = directory.listFiles();
          if (files == null) {
              throw new IOException("Error listing files for " + directory);
          }
          for (File file : files) {
              deleteRecursively(file);
          }
      }