if (fOverlay != null) { Image image= fOverlay.getImage(display); if (image != null) return image;
if (fImageType == BREAKPOINT_IMAGE) return super.getImage(display);  int newImageType= NO_IMAGE;  if (hasOverlay()) newImageType= OVERLAY_IMAGE; else if (isRelevant()) { if (mustShowQuickFixIcon()) newImageType= QUICKFIX_IMAGE; else newImageType= ORIGINAL_MARKER_IMAGE; } else newImageType= GRAY_IMAGE;  if (fImageType == newImageType) 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 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.handle); 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);
	public Image getImage(Display display) {		// return image of overlay annoation		if (fOverlay != null) {			Image image= fOverlay.getImage(display);			if (image != null)				return image;		}		if (isRelevant()) {			Image image= getQuickFixImage();			if (image != null)				return image;			else				// the original marker image				return super.getImage(display);		} else {			// the original marker image			Image originalImage= super.getImage(display);			if (originalImage != null) {				ImageRegistry imageRegistry= getGrayMarkerImageRegistry(display);				if (imageRegistry != null) {					String key= Integer.toString(originalImage.handle);					Image grayImage= imageRegistry.get(key);					if (grayImage == null) {						grayImage= new Image(display, originalImage, SWT.IMAGE_GRAY);						imageRegistry.put(key, grayImage);					}					return grayImage;				}			}			return originalImage;		}	}