deleteRecursively
Recursively deletes all children of fileOrDirectory if it is a directory, then deletes fileOrDirectory itself.
This function does not defend against race conditions. For example, if child files are created or deleted in fileOrDirectory while this function is executing, this may fail with an IOException.
Parameters
mustExist
true to throw an IOException if there is nothing at fileOrDirectory to delete.
Throws
IOException
if any directory delete operation fails.