if (selectedRange.y == 0) { int invocationOffset= computeOffsetWithCorrection(selectedRange.x); if (invocationOffset != -1) { storePosition(); fViewer.setSelectedRange(invocationOffset, 0); fViewer.revealRange(invocationOffset, 0);
ArrayList resultingAnnotations= new ArrayList(20); try { Point selectedRange= fViewer.getSelectedRange(); int currOffset= selectedRange.x; int currLength= selectedRange.y; boolean goToClosest= (currLength == 0);  int newOffset= collectQuickFixableAnnotations(fEditor, currOffset, goToClosest, resultingAnnotations); if (newOffset != currOffset) { storePosition(currOffset, currLength); fViewer.setSelectedRange(newOffset, 0); fViewer.revealRange(newOffset, 0);
	public String showPossibleCompletions() {		if (fViewer == null || fViewer.getDocument() == null)			// Let superclass deal with this			return super.showPossibleCompletions();		Point selectedRange= fViewer.getSelectedRange();		fPosition= null;		if (selectedRange.y == 0) {			int invocationOffset= computeOffsetWithCorrection(selectedRange.x);			if (invocationOffset != -1) {				storePosition();				fViewer.setSelectedRange(invocationOffset, 0);				fViewer.revealRange(invocationOffset, 0);			}		}		return super.showPossibleCompletions();	}