} else if (endOffset == text.getLength()) { return;
	private void appendContent(TextBuffer text, int startOffset, int endOffset, StringBuffer buf, boolean surroundLinesOnly) {		int startLine= text.getLineOfOffset(startOffset);		int endLine= text.getLineOfOffset(endOffset);				boolean dotsAdded= false;		if (surroundLinesOnly && startOffset == 0) { // no surround lines for the top no-change range			startLine= Math.max(endLine - surroundLines, 0);			buf.append("...<br>"); //$NON-NLS-1$			dotsAdded= true;		}				for (int i= startLine; i <= endLine; i++) {			if (surroundLinesOnly) {				if ((i - startLine > surroundLines) && (endLine - i > surroundLines)) {					if (!dotsAdded) {						buf.append("...<br>"); //$NON-NLS-1$						dotsAdded= true;					}					continue;				} else if (endOffset == text.getLength()) {					return; // no surround lines for the bottom no-change range				}			}						TextRegion lineInfo= text.getLineInformation(i);			int start= lineInfo.getOffset();			int end= start + lineInfo.getLength();			int from= Math.max(start, startOffset);			int to= Math.min(end, endOffset);			String content= text.getContent(from, to - from);			if (surroundLinesOnly && (from == start) && Strings.containsOnlyWhitespaces(content)) {				continue; // ignore empty lines exept when range started in the middle of a line			}			buf.append(content);			if (to == end && to != endOffset) { // new line when at the end of the line, and not end of range				buf.append("<br>"); //$NON-NLS-1$			}		}	}		