Bug 94665 [quick fix] changing source version to 5.0 is not offered when caret offset is wrong
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/JavaCorrectionAssistant.java
}
		if (bestOffset == Integer.MAX_VALUE) {
			return invocationLocation;
		}
		
		return bestOffset;
	}
	private static int processAnnotation(Annotation annot, Position pos, int invocationLocation, int bestOffset, boolean goToClosest, ArrayList resultingAnnotations) {
		int posBegin= pos.offset;
		int posEnd= posBegin + pos.length;
		if (isInside(invocationLocation, posBegin, posEnd)) { 
			if (bestOffset != invocationLocation) {
				resultingAnnotations.clear();
				bestOffset= invocationLocation;
			}
			resultingAnnotations.add(annot); 
		} else if (goToClosest && bestOffset != invocationLocation) {
			int newClosestPosition= computeBestOffset(posBegin, invocationLocation, bestOffset);
			if (newClosestPosition != -1) { 
				if (newClosestPosition != bestOffset) { 
					if (JavaCorrectionProcessor.hasCorrections(annot)) { 
						resultingAnnotations.clear();
						bestOffset= newClosestPosition;
						resultingAnnotations.add(annot);
					}
				} else { 
					resultingAnnotations.add(annot);
				}
			}
		}