setHighlightRange(offset, length, moveCursor);
if (offset > -1 && length >= 0) {
	protected void setSelection(ISourceReference reference, boolean moveCursor) {				if (reference != null) {						try {								ISourceRange range= reference.getSourceRange();				if (range == null)					return;								int offset= range.getOffset();				int length= range.getLength();								setHighlightRange(offset, length, moveCursor);								if (moveCursor && (reference instanceof IMember)) {					range= ((IMember) reference).getNameRange();					offset= range.getOffset();					length= range.getLength();					if (range != null && offset > -1 && length > 0) {						if (getSourceViewer() != null) {							getSourceViewer().revealRange(offset, length);							getSourceViewer().setSelectedRange(offset, length);						}					}				}								return;							} catch (JavaModelException x) {			} catch (IllegalArgumentException x) {			}		}				if (moveCursor)			resetHighlightRange();	}