diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugPlugin.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugPlugin.java
index a40a6b9..4ac4ba2 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugPlugin.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugPlugin.java
Binary files differ
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIDebugTarget.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIDebugTarget.java
index 33f2e17..8bbf3f0 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIDebugTarget.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIDebugTarget.java
@@ -534,7 +534,7 @@
 	 * @see IJavaDebugTarget#supportsInstanceBreakpoints()
 	 */
 	public boolean supportsInstanceBreakpoints() {
-		if (isAvailable() && JDIDebugPlugin.getJDIVersion() >= (float)1.4) {
+		if (isAvailable() && JDIDebugPlugin.isJdiVersionGreaterThanOrEqual(new int[] {1,4})) {
 			return getVM().canUseInstanceFilters();
 		}
 		return false;
@@ -563,7 +563,7 @@
 	 * @return whether this debug target supports JDK hot code replace
 	 */
 	public boolean supportsJDKHotCodeReplace() {
-		if (isAvailable() && JDIDebugPlugin.getJDIVersion() >= (float)1.4) {
+		if (isAvailable() && JDIDebugPlugin.isJdiVersionGreaterThanOrEqual(new int[] {1,4})) {
 			return getVM().canRedefineClasses();
 		}
 		return false;
@@ -575,7 +575,7 @@
 	 * @return whether this debug target supports popping stack frames.
 	 */
 	public boolean canPopFrames() {
-		if (isAvailable() && JDIDebugPlugin.getJDIVersion() >= (float)1.4) {
+		if (isAvailable() && JDIDebugPlugin.isJdiVersionGreaterThanOrEqual(new int[] {1,4})) {
 			return getVM().canPopFrames();
 		}
 		return false;
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java
index fc8e656..b9d866b 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java
@@ -852,7 +852,7 @@
 	 * @see IJavaStackFrame#isObsolete()
 	 */
 	public boolean isObsolete() throws DebugException {
-		if (JDIDebugPlugin.getJDIVersion() < (float)1.4 || !((JDIDebugTarget)getDebugTarget()).hasHCROccurred()) {
+		if (!JDIDebugPlugin.isJdiVersionGreaterThanOrEqual(new int[] {1,4}) || !((JDIDebugTarget)getDebugTarget()).hasHCROccurred()) {
 			// If no hot code replace has occurred, this frame
 			// cannot be obsolete.
 			return false;
