[355008] Position updater not updating Semantic Highlighting Positions properly
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/style/SemanticHighlightingPresenter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/style/SemanticHighlightingPresenter.java
index c2a2b6e..093ec05 100644
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/style/SemanticHighlightingPresenter.java
+++ b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/style/SemanticHighlightingPresenter.java
@@ -98,14 +98,19 @@
 					int length= position.getLength();
 					int end= offset + length;
 
-					if (offset > eventEnd || (offset == eventOffset && i > 0 && positions[i - 1].overlapsWith(offset, length)))
+					if (offset > eventEnd)
 						updateWithPrecedingEvent(position, event);
 					else if (end < eventOffset) {
 						// do nothing
 						// updateWithSucceedingEvent(position, event);
 					}
-					else if (offset <= eventOffset && end >= eventEnd)
-						updateWithIncludedEvent(position, event);
+					else if (offset <= eventOffset && end >= eventEnd) {
+						 // Previous region updated to overlap the beginning of this one; just bump the start.
+						if (i > 0 && positions[i - 1].offset + positions[i - 1].length > offset)
+							updateWithPrecedingEvent(position, event);
+						else
+							updateWithIncludedEvent(position, event);
+					}
 					else if (offset <= eventOffset)
 						updateWithOverEndEvent(position, event);
 					else if (end >= eventEnd)