private void getUserFileSystem(boolean isInWritableProject) throws IOException {
		if (!isInWritableProject) {
			return;
		}
		File fileSystemDir = new File(projectDir, USER_FOLDER_NAME);
		boolean create = false;
		if (!fileSystemDir.isDirectory()) {
			if (fileSystemDir.exists() || !fileSystemDir.mkdir()) {
				throw new IOException("Failed to create project user directory: " + fileSystemDir);
			}
			create = true;
		}
		userFileSystem = LocalFileSystem.getLocalFileSystem(fileSystemDir.getAbsolutePath(), create,
			false, !isInWritableProject, true);
	}
Change the versioned filesystem associated with this project file manager.
This method is provided for testing (see {@code FakeSharedProject}).  
Care should be taken when using a LocalFileSystem in a shared capacity since 
locking is not supported.
@param fs versioned filesystem
@throws IOException if an IO error occurs
Ghidra/Framework/Project/src/main/java/ghidra/framework/data/DefaultProjectData.java