private ProcessBuilder createEclipseProcessBuilder(File eclipseExecutableFile,
			File eclipseWorkspaceDir, File eclipseDropinsDir) {
		List<String> args = new ArrayList<>();
		args.add(eclipseExecutableFile.getAbsolutePath());

		if (eclipseWorkspaceDir != null) {
			args.add("-data");
			args.add(eclipseWorkspaceDir.getAbsolutePath());
		}

		args.add("--launcher.appendVmargs");
		args.add("-vmargs");
		args.add("-Dghidra.install.dir=" + Application.getInstallationDirectory());
		args.add("-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=" + eclipseDropinsDir);

		// Eclipse on OS X can have file locking issues if the user home directory is networked.
		// The following property is set in the launch script if we should disable file locking
		// via the appropriate Eclipse JVM arg.
		if (Boolean.getBoolean("eclipse.filelock.disable")) {
			Msg.info(this, "Disabling Eclipse file locking...");
			args.add("-Dosgi.locking=none");
		}

		return new ProcessBuilder(args);
	}
Creates a {@link ProcessBuilder} to launch Eclipse.

@param eclipseExecutableFile The Eclipse executable file.
@param eclipseWorkspaceDir The Eclipse workspace directory.  Could be null.
@param eclipseDropinsDir The eclipse dropins directory.
@return A {@link ProcessBuilder} to launch Eclipse.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/eclipse/EclipseConnectorTask.java