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
/**
	 * Creates a folder and all parent folders if not existing.
	 * Project must exist.
	 * <code> org.eclipse.ui.dialogs.ContainerGenerator</code> is too heavy
	 * (creates a runnable)
	 */
	public static void createFolder(IFolder folder, boolean force, boolean local, IProgressMonitor monitor) throws CoreException {
		if (!folder.exists()) {
			IContainer parent= folder.getParent();
			if (parent instanceof IFolder) {
				createFolder((IFolder)parent, force, local, null);
			}
			folder.create(force, local, monitor);
		}
	}
	
	/**
	 * Creates an extension.  If the extension plugin has not
	 * been loaded a busy cursor will be activated during the duration of
	 * the load.
	 *
	 * @param element the config element defining the extension
	 * @param classAttribute the name of the attribute carrying the class
	 * @return the extension object
	 */
	public static Object createExtension(final IConfigurationElement element, final String classAttribute) throws CoreException {