IMarker marker= getMarker(sourceViewer, lineNumber); if (marker != null) { String text= marker.getAttribute(IMarker.MESSAGE, (String) null); if (text != null) return formatHoverText(text);
List markers= getMarkersForLine(sourceViewer, lineNumber); if (markers != null) {  if (markers.size() == 1) {   IMarker marker= (IMarker) markers.get(0); String message= marker.getAttribute(IMarker.MESSAGE, (String) null); if (message != null && message.trim().length() > 0) return formatSingleMessage(message);  } else {  List messages= new ArrayList();  Iterator e= markers.iterator(); while (e.hasNext()) { IMarker marker= (IMarker) e.next(); String message= marker.getAttribute(IMarker.MESSAGE, (String) null); if (message != null && message.trim().length() > 0) messages.add(message.trim()); }  if (messages.size() == 1) return formatSingleMessage((String) messages.get(0));  if (messages.size() > 1) return formatMultipleMessages(messages); }
	public String getHoverInfo(ISourceViewer sourceViewer, int lineNumber) {		IMarker marker= getMarker(sourceViewer, lineNumber);		if (marker != null) {			String text= marker.getAttribute(IMarker.MESSAGE, (String) null);			if (text != null)				return formatHoverText(text);		}		return null;	}