GhidraFile createFile(String fileName, File packFile, TaskMonitor monitor)
			throws InvalidNameException, IOException, CancelledException {
		synchronized (fileSystem) {
			if (fileSystem.isReadOnly()) {
				throw new AssertException("createFile permitted within writeable project only");
			}
			fileSystem.createFile(getPathname(), fileName, packFile, monitor,
				SystemUtilities.getUserName());

			fileChanged(fileName);

			GhidraFile file = getDomainFile(fileName);
			if (file == null) {
				throw new IOException("File creation failed for unknown reason");
			}
			return file;
		}
	}
Add a new domain file to this folder.
@param fileName domain file name
@param packFile packed file containing domain file data
@param monitor progress monitor
@return domain file created as a result of adding
the domain object to this folder
@throws DuplicateFileException thrown if the file name already exists
@throws InvalidNameException if name is an empty string
or if it contains characters other than alphanumerics.
@throws IOException if IO or access error occurs
@throws CancelledException if the user cancels the create.
Ghidra/Framework/Project/src/main/java/ghidra/framework/data/GhidraFolderData.java