ISourceReference reference= getJavaSourceReferenceAt(offset); while (reference != null) { ISourceRange range= reference.getSourceRange();
IJavaElement element= getElementAt(offset); while (element instanceof ISourceReference) { ISourceRange range= ((ISourceReference) element).getSourceRange();
	protected void adjustHighlightRange(int offset, int length) {				try {						ISourceReference reference= getJavaSourceReferenceAt(offset);			while (reference != null) {				ISourceRange range= reference.getSourceRange();				if (offset < range.getOffset() + range.getLength() && range.getOffset() < offset + length) {					setHighlightRange(range.getOffset(), range.getLength(), true);					if (fOutlinePage != null) {						fOutlinePage.removeSelectionChangedListener(this);						fOutlinePage.select(reference);						fOutlinePage.addSelectionChangedListener(this);					}					return;				}				IJavaElement parent= ((IJavaElement) reference).getParent();				if (parent instanceof ISourceReference)					reference= (ISourceReference) parent;				else					reference= null;			}					} catch (JavaModelException x) {		}				resetHighlightRange();	}