Bug 43488 [typing] BadPositionCategoryException in LinkedPositionManager
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
IAnnotationModel model= getDocumentProvider().getAnnotationModel(getEditorInput());
		Iterator e= new JavaAnnotationIterator(model, true);
		while (e.hasNext()) {
			IJavaAnnotation a= (IJavaAnnotation) e.next();
			Preferences workbenchTextEditorPrefStore= Platform.getPlugin("org.eclipse.ui.workbench.texteditor").getPluginPreferences(); 
			Iterator iter= getAnnotationPreferences().getAnnotationPreferences().iterator();
			boolean isNavigationTarget= false;
			while (iter.hasNext()) {
				AnnotationPreference annotationPref= (AnnotationPreference)iter.next();
				if (annotationPref.getAnnotationType().equals(a.getAnnotationType())) {
					String key;
					/*
					 * Fixes bug 41689
					 * This code can be simplified if we decide that
					 * we don't allow to use different settings for go to
					 * previous and go to next annotation.
					 */
					key= annotationPref.getIsGoToNextNavigationTargetKey();
					if (key != null)
						isNavigationTarget= workbenchTextEditorPrefStore.getBoolean(key);
					break;
				}
				annotationPref= null;
			}
			
			if (a.hasOverlay() || !isNavigationTarget)
				continue;
				
			Position p= model.getPosition((Annotation) a);
			if (!(p.includes(offset) || (p.getLength() == 0 && offset == p.offset))) {