programArgs.add(ClasspathHelper.getDevEntries(true));
programArgs.add( DebugUtil.getDevEntries( true ) );
    private String[] getProgramArguments(ILaunchConfiguration configuration) throws CoreException {		ArrayList programArgs = new ArrayList();				// If a product is specified, then add it to the program args		if (configuration.getAttribute(USE_PRODUCT, false)) {			programArgs.add("-product"); //$NON-NLS-1$			programArgs.add(configuration.getAttribute(PRODUCT, "")); //$NON-NLS-1$		} else {			// specify the application to launch			programArgs.add("-application"); //$NON-NLS-1$			programArgs.add(configuration.getAttribute(APPLICATION, LauncherUtils.getDefaultApplicationName()));		}				// specify the workspace location for the runtime workbench		String targetWorkspace =			configuration.getAttribute(LOCATION + "0", LauncherUtils.getDefaultPath().append("runtime-workbench-workspace").toOSString()); //$NON-NLS-1$ //$NON-NLS-2$		programArgs.add("-data"); //$NON-NLS-1$		programArgs.add(targetWorkspace);				boolean isOSGI = PDECore.getDefault().getModelManager().isOSGiRuntime();		if (configuration.getAttribute(USEFEATURES, false)) {			validateFeatures();			IPath installPath = PDEPlugin.getWorkspace().getRoot().getLocation();			programArgs.add("-install"); //$NON-NLS-1$			programArgs.add("file:" + installPath.removeLastSegments(1).addTrailingSeparator().toString()); //$NON-NLS-1$			programArgs.add("-update"); //$NON-NLS-1$		} else {			TreeMap pluginMap = LauncherUtils.getPluginsToRun(configuration);			if (pluginMap == null) 				return null;							String primaryFeatureId = LauncherUtils.getPrimaryFeatureId();			TargetPlatform.createPlatformConfigurationArea(					pluginMap,					getConfigDir(configuration),					primaryFeatureId,					ReportLauncherUtils.getAutoStartPlugins(configuration));			programArgs.add("-configuration"); //$NON-NLS-1$			if (isOSGI)				programArgs.add("file:" + new Path(getConfigDir(configuration).getPath()).addTrailingSeparator().toString()); //$NON-NLS-1$			else				programArgs.add("file:" + new Path(getConfigDir(configuration).getPath()).append("platform.cfg").toString()); //$NON-NLS-1$ //$NON-NLS-2$						if (!isOSGI) {				if (primaryFeatureId != null) {					programArgs.add("-feature"); //$NON-NLS-1$					programArgs.add(primaryFeatureId);									}				IPluginModelBase bootModel = (IPluginModelBase)pluginMap.get("org.eclipse.core.boot"); //$NON-NLS-1$				String bootPath = LauncherUtils.getBootPath(bootModel);				if (bootPath != null && !bootPath.endsWith(".jar")) { //$NON-NLS-1$					programArgs.add("-boot"); //$NON-NLS-1$					programArgs.add("file:" + bootPath); //$NON-NLS-1$				}			}		}				// add the output folder names		programArgs.add("-dev"); //$NON-NLS-1$		if (PDECore.getDefault().getModelManager().isOSGiRuntime())			programArgs.add(ClasspathHelper.getDevEntriesProperties(getConfigDir(configuration).toString() + "/dev.properties", true)); //$NON-NLS-1$		else			programArgs.add(ClasspathHelper.getDevEntries(true));				// necessary for PDE to know how to load plugins when target platform = host platform		// see PluginPathFinder.getPluginPaths()		programArgs.add("-pdelaunch"); //$NON-NLS-1$		// add tracing, if turned on		if (configuration.getAttribute(TRACING, false)				&& !TRACING_NONE.equals(configuration.getAttribute(TRACING_CHECKED, (String) null))) {			programArgs.add("-debug"); //$NON-NLS-1$			programArgs.add(				LauncherUtils.getTracingFileArgument(					configuration,					getConfigDir(configuration).toString() + Path.SEPARATOR + ".options")); //$NON-NLS-1$		}		// add the program args specified by the user		StringTokenizer tokenizer =			new StringTokenizer(configuration.getAttribute(PROGARGS, "")); //$NON-NLS-1$		while (tokenizer.hasMoreTokens()) {			programArgs.add(tokenizer.nextToken());		}				// show splash only if we are launching the default application		boolean showSplash = true;		int index = programArgs.indexOf("-application"); //$NON-NLS-1$		if (index != -1 && index <= programArgs.size() - 2) {			if (!programArgs.get(index + 1).equals(LauncherUtils.getDefaultApplicationName())) {				showSplash = false;			}		}		if (showSplash && !programArgs.contains("-nosplash")) { //$NON-NLS-1$			programArgs.add(0, "-showsplash"); //$NON-NLS-1$			programArgs.add(1, computeShowsplashArgument());		}		return (String[])programArgs.toArray(new String[programArgs.size()]);	}