Bug 221521 [Markers] New markers API needs to be pared down
We have too much API in some of the new classes and they can be moved to internals
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerField.java
public Image annotateImage(MarkerItem item, Image image) {
		ImageDescriptor[] descriptors = new ImageDescriptor[5];
		if (item.getMarker() != null) {
			IMarker marker = item.getMarker();
			
			
			if (marker != null) {
				String contextId = IDE.getMarkerHelpRegistry().getHelp(marker);
				if (contextId != null) {
					if (image == null)
						image = JFaceResources.getImage(Dialog.DLG_IMG_HELP);
					else
						descriptors[IDecoration.TOP_RIGHT] = IDEWorkbenchPlugin
								.getIDEImageDescriptor(MarkerSupportInternalUtilities.IMG_MARKERS_HELP_DECORATION_PATH);
				}
				if (IDE.getMarkerHelpRegistry().hasResolutions(marker)) {
					if (image == null)
						image = getImageManager()
								.createImage(
										IDEInternalWorkbenchImages
												.getImageDescriptor(IDEInternalWorkbenchImages.IMG_ELCL_QUICK_FIX_ENABLED));
					else
						descriptors[IDecoration.BOTTOM_RIGHT] = IDEWorkbenchPlugin
								.getIDEImageDescriptor(MarkerSupportInternalUtilities.IMG_MARKERS_QUICK_FIX_DECORATION_PATH);
				}
				if (descriptors[IDecoration.TOP_RIGHT] != null
						|| descriptors[IDecoration.BOTTOM_RIGHT] != null)
					image = getImageManager().createImage(
							new DecorationOverlayIcon(image, descriptors));
			}