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/SerialVersionHashProposal.java
public static final String SERIAL_SUPPORT_JAR= "serialsupport.jar"; 
	/**
	 * Computes the class path entries which are on the user class path and are
	 * explicitely put on the boot class path.
	 * 
	 * @param project
	 *            the project to compute the classpath for
	 * @return the computed classpath. May be empty, but not null.
	 * @throws CoreException
	 *             if the project's class path cannot be computed
	 */
	protected static String[] computeUserAndBootClasspath(final IJavaProject project) throws CoreException {
		final IRuntimeClasspathEntry[] unresolved= JavaRuntime.computeUnresolvedRuntimeClasspath(project);
		final List resolved= new ArrayList(unresolved.length);
		for (int index= 0; index < unresolved.length; index++) {
			final IRuntimeClasspathEntry entry= unresolved[index];
			final int property= entry.getClasspathProperty();
			if (property == IRuntimeClasspathEntry.USER_CLASSES || property == IRuntimeClasspathEntry.BOOTSTRAP_CLASSES) {
				final IRuntimeClasspathEntry[] entries= JavaRuntime.resolveRuntimeClasspathEntry(entry, project);
				for (int offset= 0; offset < entries.length; offset++) {
					final String location= entries[offset].getLocation();
					if (location != null)
						resolved.add(location);
				}
			}
		}
		return (String[]) resolved.toArray(new String[resolved.size()]);
	}
	/**
	 * Displays an appropriate error message for a specific problem.