public static File checkedMkdirs(File dir) throws IOException {
		if (!createDir(dir)) {
			File canonFile = dir.getCanonicalFile();
			File parent = canonFile.getParentFile();
			if (parent != null) {
				checkedMkdirs(parent);
				checkedMkdir(canonFile);
			}
		}
		return dir;
	}
Ensures the specified full directory path exists, creating any missing
directories as needed.
<p>
Throws an {@link IOException} if there is any problem while creating the directory.
<p>
Uses {@link #createDir(File)} to create new directories (which handles
race conditions if other processes are also trying to create the same directory).

@param dir directory path to be created
@return a reference to the same {@link File} instance that was passed in.
@throws IOException if there was a failure when creating a directory.
Ghidra/Framework/Utility/src/main/java/utilities/util/FileUtilities.java