@Override
                public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {
                    return Files.isSymbolicLink(dir)
                            // Don't delete symlink files, just delete the symlink.
                            ? FileVisitResult.SKIP_SUBTREE
                            : 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