public static ILaunchConfigurationWorkingCopy setSource(ILaunchConfigurationWorkingCopy wc)
			throws CoreException {
		List<String> newList = new ArrayList<>();
		IJavaProject javaProject = JavaRuntime.getJavaProject(wc);
		if (javaProject != null) {

			// Add current project (might need to add dependent projects later)
			newList.add(JavaRuntime.newProjectRuntimeClasspathEntry(javaProject).getMemento());

			// Add JDK
			newList.add(JavaRuntime
					.newRuntimeContainerClasspathEntry(
						JavaRuntime.newJREContainerPath(JavaRuntime.getVMInstall(javaProject)),
						IRuntimeClasspathEntry.STANDARD_CLASSES)
					.getMemento());

			// Add Ghidra jar source
			for (IClasspathEntry entry : javaProject.getRawClasspath()) {
				IPath sourcePath = entry.getSourceAttachmentPath();
				if (sourcePath != null) {
					newList.add(
						JavaRuntime.newArchiveRuntimeClasspathEntry(sourcePath).getMemento());
				}
			}
		}
		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH, newList);
		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_SOURCE_PATH, false);
		return wc;
	}
Adds all project jars that have associated source to the source path

@param wc The launch configuration working copy to modify.
@return The modified working copy.
@throws CoreException if there was an Eclipse-related issue modifying the source path.
GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/GhidraLaunchUtils.java