if (a.hasOverlay())
if (a.hasOverlay() || !a.isProblem())
	private IProblemAnnotation getNextError(int offset, boolean forward, Position errorPosition) {				IProblemAnnotation nextError= null;		Position nextErrorPosition= null;				IDocument document= getDocumentProvider().getDocument(getEditorInput());		int endOfDocument= document.getLength(); 		int distance= 0;				IAnnotationModel model= getDocumentProvider().getAnnotationModel(getEditorInput());		Iterator e= new ProblemAnnotationIterator(model, false);		while (e.hasNext()) {						IProblemAnnotation a= (IProblemAnnotation) e.next();			if (a.hasOverlay())				continue;							Position p= model.getPosition((Annotation) a);			if (!p.includes(offset)) {								int currentDistance= 0;								if (forward) {					currentDistance= p.getOffset() - offset;					if (currentDistance < 0)						currentDistance= endOfDocument - offset + p.getOffset();				} else {					currentDistance= offset - p.getOffset();					if (currentDistance < 0)						currentDistance= offset + endOfDocument - p.getOffset();				}																				if (nextError == null || currentDistance < distance) {					distance= currentDistance;					nextError= a;					nextErrorPosition= p;				}			}		}				if (nextErrorPosition != null) {			errorPosition.setOffset(nextErrorPosition.getOffset());			errorPosition.setLength(nextErrorPosition.getLength());		}				return nextError;	}