@Override
	public synchronized void createFolder(String parentPath, String folderName)
			throws InvalidNameException, IOException {

		checkDisposed();

		if (readOnly) {
			throw new ReadOnlyException();
		}

		testValidName(parentPath, true);
		testValidName(folderName, false);

		String path = getPath(parentPath, folderName);
		indexJournal.open();
		try {
			Folder parent = getFolder(parentPath, GetFolderOption.CREATE_ALL_NOTIFY);
			if (parent.folders.get(folderName) != null) {
				return; // ignore request if already exists
			}

			indexJournal.addFolder(path);

			Folder folder = new Folder();
			folder.parent = parent;
			folder.name = folderName;
			parent.folders.put(folderName, folder);
		}
		catch (NotFoundException e) {
			throw new FileNotFoundException("Folder not found: " + parentPath);
		}
		finally {
			indexJournal.close();
		}

		eventManager.folderCreated(parentPath, getName(path));
	}
Deallocate item storage
@param folderPath
@param itemName
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/store/local/IndexedLocalFileSystem.java