AnnotationPreference pref= fLookup.getAnnotationPreference(annotation); if (pref != null) { String key= pref.getVerticalRulerPreferenceKey(); if (key != null && !JavaPlugin.getDefault().getPreferenceStore().getBoolean(key)) continue; }
	public Object getHoverInfo2(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();				StyledText text= viewer.getTextWidget();		Display display;		if (text != null && !text.isDisposed())			display= text.getDisplay();		else			display= null;							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;							if (annotation instanceof IJavaAnnotation && annotation instanceof IAnnotationPresentation)				if (((IJavaAnnotation) annotation).getImage(display) == null)					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= fVerticalRulerInfo;		input.fAnnotationListener= fAnnotationListener;		input.fDoubleClickListener= fDblClickListener;		input.redoAction= new AnnotationExpansionControl.ICallback() {			public void run(IInformationControlExtension2 control) {				control.setInput(getHoverInfo2(viewer, line));			}					};		input.model= model;				return input;	}