Bug 509839 - NPE on incorrect condition in conditional breakpoint

Change-Id: Ia4f1a44cddeac04990c5c146c04614564e6b6017
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/ConditionalBreakpointHandler.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/ConditionalBreakpointHandler.java
index 4fdfb07..94c2465 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/ConditionalBreakpointHandler.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/ConditionalBreakpointHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2016 IBM Corporation and others.
+ * Copyright (c) 2009, 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
@@ -34,6 +34,7 @@
 import org.eclipse.jdt.debug.eval.IEvaluationResult;
 import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
 import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
+import org.eclipse.jdt.internal.debug.core.model.JDINullValue;
 import org.eclipse.jdt.internal.debug.core.model.JDIThread;
 import org.eclipse.jdt.internal.debug.core.model.JDIValue;
 
@@ -125,7 +126,7 @@
 							return DONT_SUSPEND;
 						}
 					}
-					if (value instanceof JDIValue) {
+					if ((value instanceof JDIValue) && !(value instanceof JDINullValue)) {
 						JDIValue jdiValue = (JDIValue)value;
 						// Suspend if return is Boolean(true) else don't suspend (no error dialog)
 						if (jdiValue.getJavaType().getName().equals("java.lang.Boolean")) {//$NON-NLS-1$