if (annotation instanceof IJavaAnnotation && !isIncluded((IJavaAnnotation)annotation, showTemporaryProblems)) continue;
	protected Object getHoverInfoForLine(final ISourceViewer viewer, final int line) {		IAnnotationModel model= viewer.getAnnotationModel();		IDocument document= viewer.getDocument();		if (model == null)			return null;		List exact= new ArrayList();		HashMap messagesAtPosition= new HashMap();		Iterator e= model.getAnnotationIterator();		while (e.hasNext()) {			Annotation annotation= (Annotation) e.next();			// don't prune deleted ones as we don't get many errors this way//			if (annotation.isMarkedDeleted())//				continue;			if (fAnnotationAccess instanceof IAnnotationAccessExtension)				if (!((IAnnotationAccessExtension)fAnnotationAccess).isPaintable(annotation))					continue;// TODO need a new check this one is not OK////			if (annotation instanceof IJavaAnnotation && annotation instanceof IAnnotationPresentation)//				if (((IJavaAnnotation) annotation).getImage(display) == null)//					continue;			AnnotationPreference pref= fLookup.getAnnotationPreference(annotation);			if (pref != null) {				String key= pref.getVerticalRulerPreferenceKey();				if (key != null && !fStore.getBoolean(key))					continue;			}			Position position= model.getPosition(annotation);			if (position == null)				continue;			if (compareRulerLine(position, document, line) == 1) {				if (isDuplicateMessage(messagesAtPosition, position, annotation.getText()))					continue;				exact.add(annotation);			}		}		sort(exact, model);		if (exact.size() > 0)			setLastRulerMouseLocation(viewer, line);		if (exact.size() > 0) {			Annotation first= (Annotation) exact.get(0);			if (!isBreakpointAnnotation(first))				exact.add(0, new NoBreakpointAnnotation());		}		if (exact.size() <= 1)//		if (exact.size() < 1)			return null;		AnnotationHoverInput input= new AnnotationHoverInput();		input.fAnnotations= (Annotation[]) exact.toArray(new Annotation[0]);		input.fViewer= viewer;		input.fRulerInfo= fCompositeRuler;		input.fAnnotationListener= fgListener;		input.fDoubleClickListener= fDblClickListener;		input.redoAction= new AnnotationExpansionControl.ICallback() {			public void run(IInformationControlExtension2 control) {				control.setInput(getHoverInfoForLine(viewer, line));			}		};		input.model= model;		return input;	}