Bug 107826 Serial version quick fix improvements [quick fix]
- Do not put everything on the user class path - Use only the standard output for result and error messages - Remove waitFor() - Read from stream until -1
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/SerialVersionLaunchConfigurationDelegate.java
if (executable.exists() && executable.isFile())
				return executable.getAbsolutePath();
			executable= new File(location + "jre" + File.separatorChar + "bin" + File.separatorChar + command); 
			if (executable.exists() && executable.isFile())
				return executable.getAbsolutePath();
			executable= new File(executable.getAbsolutePath() + ".exe"); 
			if (executable.exists() && executable.isFile())
				return executable.getAbsolutePath();
			abort(Messages.format(CorrectionMessages.SerialVersionHashProposal_wrong_executable, new String[] { command, fInstall.getName()}), null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
			return null;
		}
		/*
		 * @see AbstractVMRunner#getPluginIdentifier()
		 */
		protected final String getPluginIdentifier() {
			return JavaPlugin.getPluginId();
		}
		/*
		 * @see org.eclipse.jdt.launching.IVMRunner#run(org.eclipse.jdt.launching.VMRunnerConfiguration, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
		 */
		public final void run(final VMRunnerConfiguration configuration, final ILaunch launch, final IProgressMonitor monitor) throws CoreException {
			Assert.isNotNull(configuration);
			Assert.isNotNull(launch);
			Assert.isNotNull(monitor);
			final IProgressMonitor subMonitor= new SubProgressMonitor(monitor, 1);
			subMonitor.beginTask(CorrectionMessages.SerialVersionLaunchConfigurationDelegate_launching_vm, 2);
			try {
				subMonitor.subTask(CorrectionMessages.SerialVersionLaunchConfigurationDelegate_constructing_command_line);
				final List arguments= new ArrayList();
				arguments.add(getJavaExecutable(configuration));