private static Program doFSImportHelper(GFileSystemProgramProvider pfs, GFile gfile,
			DomainFolder destFolder, Object consumer, TaskMonitor monitor) throws Exception {
		Program program =
			pfs.getProgram(gfile, DefaultLanguageService.getLanguageService(), monitor, consumer);

		if (program == null) {
			return null;
		}

		boolean success = false;
		try {
			String importFilename = ProjectDataUtils.getUniqueName(destFolder, program.getName());
			if (importFilename == null) {
				throw new IOException("Unable to find unique name for " + program.getName());
			}
			destFolder.createFile(importFilename, program, monitor);
			success = true;
			return program;
		}
		finally {
			if (!success) {
				program.release(consumer);
			}
		}

	}
Constructs a {@link ImporterDialog} and shows it in the swing thread.


@param fsrl the file system resource locater (can be a simple file or an element of
			a more complex file such as a zip file)
@param destinationFolder the default destination folder for the imported file. Can be null
@param suggestedPath optional string path that will automatically be pre-pended
			to the destination filename
@param tool the parent UI component
@param programManager optional {@link ProgramManager} instance to open the imported file in
@param monitor {@link TaskMonitor}
Ghidra/Features/Base/src/main/java/ghidra/plugin/importer/ImporterUtilities.java