private static IRegion getSignedSelection(ITextViewer viewer) {  StyledText text= viewer.getTextWidget(); int caretOffset= text.getCaretOffset(); Point selection= text.getSelection();
protected IRegion getSignedSelection(ISourceViewer sourceViewer) { StyledText text= sourceViewer.getTextWidget(); Point selection= text.getSelectionRange();
	private static IRegion getSignedSelection(ITextViewer viewer) {		StyledText text= viewer.getTextWidget();		int caretOffset= text.getCaretOffset();		Point selection= text.getSelection();				// caret left		int offset, length;		if (caretOffset == selection.x) {			offset= selection.y;			length= selection.x - selection.y;								// caret right		} else {			offset= selection.x;			length= selection.y - selection.x;					}				return new Region(offset, length);	}