Squashing style ranges in assertion dialog
diff --git a/runtime/tesla/org.eclipse.rcptt.tesla.swt/src/org/eclipse/rcptt/tesla/internal/ui/player/PlayerTextUtils.java b/runtime/tesla/org.eclipse.rcptt.tesla.swt/src/org/eclipse/rcptt/tesla/internal/ui/player/PlayerTextUtils.java
index b9ee177..d179406 100644
--- a/runtime/tesla/org.eclipse.rcptt.tesla.swt/src/org/eclipse/rcptt/tesla/internal/ui/player/PlayerTextUtils.java
+++ b/runtime/tesla/org.eclipse.rcptt.tesla.swt/src/org/eclipse/rcptt/tesla/internal/ui/player/PlayerTextUtils.java
@@ -371,6 +371,7 @@
 			result.add(rangeEntry);
 			totalDelta += delta;
 		}
+		squashRanges(result);
 		return result;
 	}
 
diff --git a/runtime/tesla/org.eclipse.rcptt.tesla.swt/src/org/eclipse/rcptt/tesla/internal/ui/player/SWTModelMapper.java b/runtime/tesla/org.eclipse.rcptt.tesla.swt/src/org/eclipse/rcptt/tesla/internal/ui/player/SWTModelMapper.java
index 7662c44..2b55ad8 100644
--- a/runtime/tesla/org.eclipse.rcptt.tesla.swt/src/org/eclipse/rcptt/tesla/internal/ui/player/SWTModelMapper.java
+++ b/runtime/tesla/org.eclipse.rcptt.tesla.swt/src/org/eclipse/rcptt/tesla/internal/ui/player/SWTModelMapper.java
@@ -397,12 +397,14 @@
 			StyleRange[] sr = st.getStyleRanges();
 			for (StyleRange styleRange : sr) {
 				text.getStyleRanges().add(makeStyleRange(styleRange));
-				String currText = PlayerTextUtils.unifyMultilines(st.getTextRange(styleRange.start,
-						styleRange.length));
-				text.getStyles().add(
-						addStartEnd(st, makeTextStyle(styleRange, currText)));
 			}
 
+			List<StyleRangeEntry> styleRanges = PlayerTextUtils.captureStyleRanges(st);
+			for (StyleRangeEntry styleRange: styleRanges) {
+				String currText = PlayerTextUtils.unifyMultilines(st.getTextRange(styleRange.getStart(), styleRange.getLength()));
+				styleRange.setText(currText);
+				text.getStyles().add(styleRange);
+			}
 			setStyleAtOffset(text, st, caretOffset, sr);
 		}
 
diff --git a/runtime/verifications/org.eclipse.rcptt.verifications.text.impl/src/org/eclipse/rcptt/verifications/text/impl/TextVerificationProcessor.java b/runtime/verifications/org.eclipse.rcptt.verifications.text.impl/src/org/eclipse/rcptt/verifications/text/impl/TextVerificationProcessor.java
index 16ae0f7..469540f 100644
--- a/runtime/verifications/org.eclipse.rcptt.verifications.text.impl/src/org/eclipse/rcptt/verifications/text/impl/TextVerificationProcessor.java
+++ b/runtime/verifications/org.eclipse.rcptt.verifications.text.impl/src/org/eclipse/rcptt/verifications/text/impl/TextVerificationProcessor.java
@@ -65,7 +65,6 @@
 				}
 
 				List<StyleRangeEntry> expectedStyleEntries = textVerification.getStyles();
-				PlayerTextUtils.squashRanges(expectedStyleEntries);
 				
 				if (expectedStyleEntries.size() > 0 && !textVerification.isIgnoreStyling()) {
 					if (!(widget instanceof StyledText))
@@ -74,7 +73,6 @@
 					else {
 						StyledText styledText = (StyledText) widget;
 						List<StyleRangeEntry> actualStyleEntries = PlayerTextUtils.captureStyleRanges(styledText);
-						PlayerTextUtils.squashRanges(actualStyleEntries);
 
 						boolean failed = false;
 						for (int i = 0; i < Math.min(expectedStyleEntries.size(), actualStyleEntries.size()); ++i) {
@@ -131,7 +129,6 @@
 					if (unfold(styledText))
 						result.setText(PlayerTextUtils.getTextForVerification(swtuiElement));
 					List<StyleRangeEntry> captured = PlayerTextUtils.captureStyleRanges(styledText);
-					PlayerTextUtils.squashRanges(captured);
 					result.getStyles().addAll(captured);
 					result.setIgnoreStyling(result.getStyles().size() > 0 ? p.isIgnoreStyling() : true);
 				} else