if (fImageType == BREAKPOINT_IMAGE) return super.getImage(display);
if (fImageType == BREAKPOINT_IMAGE) { Image result= super.getImage(display); if (result == null) { result= fPresentation.getImage(getMarker()); setImage(result); } return result; }
	public Image getImage(Display display) {		if (fImageType == BREAKPOINT_IMAGE)			return super.getImage(display);		int newImageType= NO_IMAGE;		if (hasOverlay())			newImageType= OVERLAY_IMAGE;		else if (isRelevant()) {			if (mustShowQuickFixIcon()) {				if (fType == AnnotationType.ERROR)					newImageType= QUICKFIX_ERROR_IMAGE;				else					newImageType= QUICKFIX_IMAGE; 			} else				newImageType= ORIGINAL_MARKER_IMAGE; 		} else			newImageType= GRAY_IMAGE;		if (fImageType == newImageType && newImageType != OVERLAY_IMAGE)			// Nothing changed - simply return the current image			return super.getImage(display);		Image newImage= null;		switch (newImageType) {			case ORIGINAL_MARKER_IMAGE:				newImage= null;				break;			case OVERLAY_IMAGE:				newImage= fOverlay.getImage(display);				break;			case QUICKFIX_IMAGE:				newImage= getQuickFixImage();				break;			case QUICKFIX_ERROR_IMAGE:				newImage= getQuickFixErrorImage();				break;			case GRAY_IMAGE:				if (fImageType != ORIGINAL_MARKER_IMAGE)					setImage(null);				Image originalImage= super.getImage(display);				if (originalImage != null) {					ImageRegistry imageRegistry= getGrayMarkerImageRegistry(display);					if (imageRegistry != null) {						String key= Integer.toString(originalImage.hashCode());						Image grayImage= imageRegistry.get(key);						if (grayImage == null) {							grayImage= new Image(display, originalImage, SWT.IMAGE_GRAY);							imageRegistry.put(key, grayImage);						}						newImage= grayImage;					}				}				break;			default:				Assert.isLegal(false);		}		fImageType= newImageType;		setImage(newImage);		return super.getImage(display);	}