Bug 94399 [preferences] Multiple requests for rebuild
Build: I20050509-2010 1) Open a new workspace 2) Create a Java project 3) Modify at least one preference on every "Compiler" preference page. 4) Click ok -> You are prompted to do a full rebuild for each page that has changed. If you changed three pages, you get three prompt dialogs. The user should only be prompted once. Even worse, all three or four builds are queued up and run one after the other. If you don't cancel the builds, the workspace is rebuilt several times.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/util/CoreUtility.java
String pluginId = element.getNamespace();
		Bundle bundle = Platform.getBundle(pluginId);
		if (bundle != null && bundle.getState() == Bundle.ACTIVE ) {
			return element.createExecutableExtension(classAttribute);
		} else {
			final Object[] ret = new Object[1];
			final CoreException[] exc = new CoreException[1];
			BusyIndicator.showWhile(null, new Runnable() {
				public void run() {
					try {
						ret[0] = element.createExecutableExtension(classAttribute);
					} catch (CoreException e) {
						exc[0] = e;
					}
				}
			});
			if (exc[0] != null)
				throw exc[0];
			else
				return ret[0];
		}
	}	
	
	/**
	 * Starts a build in the background.
	 * @param project The project to build or <code>null</code> to build the workspace.
	 */
	public static void startBuildInBackground(final IProject project) {
		getBuildJob(project).schedule();