[136114] 'Index out of bounds' when editing jsp
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslation.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslation.java
index cdd117f..67a45ab 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslation.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslation.java
@@ -581,9 +581,13 @@
 		IJavaElement[] result = EMTPY_RESULT_SET;
 		try {
 			ICompilationUnit cu = getCompilationUnit();
-			if (cu != null && cu.getBuffer().getLength() > 0 && javaPositionStart > 0 && javaPositionEnd >= javaPositionStart) {
+			if (cu != null) {
 				synchronized (cu) {
-					result = cu.codeSelect(javaPositionStart, javaPositionEnd - javaPositionStart);
+					int cuDocLength = cu.getBuffer().getLength();
+					int javaLength = javaPositionEnd - javaPositionStart;
+					if (cuDocLength > 0 && javaPositionStart >= 0 && javaLength >= 0 && javaPositionEnd < cuDocLength) {
+						result = cu.codeSelect(javaPositionStart, javaLength);
+					}
 				}
 			}