Fixed bug 510915: NPE on changing any jdt compiler preferences

Change-Id: I042094f4357e05b2281b84703bacb8a6de2ec93c
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/util/CoreUtility.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/util/CoreUtility.java
index 1992474..552125e 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/util/CoreUtility.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/util/CoreUtility.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2016 IBM Corporation and others.
+ * Copyright (c) 2000, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -33,11 +33,11 @@
 import org.eclipse.core.resources.IncrementalProjectBuilder;
 import org.eclipse.core.resources.ResourcesPlugin;
 
+import org.eclipse.jdt.internal.core.manipulation.util.BasicElementLabels;
 import org.eclipse.jdt.internal.corext.util.Messages;
 
 import org.eclipse.jdt.internal.ui.JavaPlugin;
 import org.eclipse.jdt.internal.ui.JavaUIMessages;
-import org.eclipse.jdt.internal.core.manipulation.util.BasicElementLabels;
 
 
 public class CoreUtility {
@@ -153,13 +153,13 @@
 		        	}
 				}
 			}
-			SubMonitor subMonitor= SubMonitor.convert(monitor, Messages.format(JavaUIMessages.CoreUtility_buildproject_taskname, BasicElementLabels.getResourceName(fProject)), 2);
 			try {
 				if (fProject != null) {
+					SubMonitor subMonitor= SubMonitor.convert(monitor, Messages.format(JavaUIMessages.CoreUtility_buildproject_taskname, BasicElementLabels.getResourceName(fProject)), 2);
 					fProject.build(IncrementalProjectBuilder.FULL_BUILD, subMonitor.split(1));
 					JavaPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, subMonitor.split(1));
 				} else {
-					monitor.beginTask(JavaUIMessages.CoreUtility_buildall_taskname, 2);
+					SubMonitor subMonitor= SubMonitor.convert(monitor, JavaUIMessages.CoreUtility_buildall_taskname, 2);
 					JavaPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, subMonitor.split(2));
 				}
 			} catch (CoreException e) {