fRememberedStyleRange= new StyleRange(offset, length, foreground, background);
fRememberedStyleRange= new StyleRange(offset, length, foreground, background, fontStyle);
	private void updateStyle(ITextViewer viewer) {		StyledText text= viewer.getTextWidget();		if (text == null || text.isDisposed())			return;		int widgetCaret= text.getCaretOffset();				int modelCaret= 0;		if (viewer instanceof ITextViewerExtension3) {			ITextViewerExtension3 extension= (ITextViewerExtension3) viewer;			modelCaret= extension.widgetOffset2ModelOffset(widgetCaret);		} else {			IRegion visibleRegion= viewer.getVisibleRegion();			modelCaret= widgetCaret + visibleRegion.getOffset();					}				if (modelCaret >= fReplacementOffset + fReplacementLength) {			repairPresentation(viewer);			return;		}							int offset= widgetCaret;		int length= fReplacementOffset + fReplacementLength - modelCaret;			Color foreground= getForegroundColor(text);		Color background= getBackgroundColor(text);		repairPresentation(viewer);		fRememberedStyleRange= new StyleRange(offset, length, foreground, background);				// http://dev.eclipse.org/bugs/show_bug.cgi?id=34754		try {			text.setStyleRange(fRememberedStyleRange);		} catch (IllegalArgumentException x) {			// catching exception as offset + length might be outside of the text widget			fRememberedStyleRange= null;		}	}