@Override
                public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                    // Workaround for Windows systems that set some git packfiles to readonly
                    file.toFile().setWritable(true);

                    Files.delete(file);
                    return FileVisitResult.CONTINUE;
                }
Delete a directory and all files within.

<p>Any found symlink is deleted, but the contents of a symlink are not deleted.

@param dir Directory to delete.
@return Returns true if the directory was deleted, or false if the directory does not exist.
@throws IllegalArgumentException if the given path is not a directory.
@throws RuntimeException if unable to delete a file or directory.
smithy-utils/src/main/java/software/amazon/smithy/utils/IoUtils.java