public static ILaunchConfigurationWorkingCopy createLaunchConfig(IJavaProject javaProject,
			String launchConfigTypeId, String launchConfigName, String runConfigMemory)
			throws CoreException {
		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
		ILaunchConfigurationType launchType =
			launchManager.getLaunchConfigurationType(launchConfigTypeId);
		ILaunchConfigurationWorkingCopy wc = launchType.newInstance(null, launchConfigName);
		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME,
			javaProject.getProject().getName());
		setMainTypeName(wc);
		setMemory(wc, runConfigMemory);
		setClasspath(wc);
		setSource(wc);
		setFavorites(wc);
		return wc;
	}
Creates a new launch configuration for the given Java project.

@param javaProject The Java project to create a launch configuration for.
@param launchConfigTypeId The type of launch configuration.
@param launchConfigName The name of the launch configuration.
@param runConfigMemory The run configuration's desired memory.  Could be null.
@return A launch configuration working copy.
@throws CoreException If there was an Eclipse-related problem with creating the launch 
  configuration.
GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/GhidraLaunchUtils.java