code: @Restricted(NoExternalUse.class)
      public static void deleteRecursive(@Nonnull Path dir, @Nonnull PathRemover.PathChecker pathChecker) throws IOException {
          newPathRemover(pathChecker).forceRemoveRecursive(dir);
      }
docs: Deletes the given directory and contents recursively using a filter.
  @param dir a directory to delete
  @param pathChecker a security check to validate a path before deleting
  @throws IOException if the operation fails