int maxNumberOfLines= Math.round(maxHeight / gc.getFontMetrics().getHeight());
int maxNumberOfLines= Math.round((float)maxHeight / gc.getFontMetrics().getHeight());
	public String updatePresentation(Display display, String hoverInfo, TextPresentation presentation, int maxWidth, int maxHeight) {		if (hoverInfo == null)			return null;		GC gc= new GC(display);		try {			StringBuffer buffer= new StringBuffer();			int maxNumberOfLines= Math.round(maxHeight / gc.getFontMetrics().getHeight());			fCounter= 0;			LineBreakingReader reader= new LineBreakingReader(createReader(hoverInfo, presentation), gc, maxWidth);			boolean lastLineFormatted= false;			String lastLineIndent= null;			String line=reader.readLine();			boolean lineFormatted= reader.isFormattedLine();			boolean firstLineProcessed= false;			while (line != null) {				if (fEnforceUpperLineLimit && maxNumberOfLines <= 0)					break;				if (firstLineProcessed) {					if (!lastLineFormatted)						append(buffer, LINE_DELIM, null);					else {						append(buffer, LINE_DELIM, presentation);						if (lastLineIndent != null)							append(buffer, lastLineIndent, presentation);					}				}				append(buffer, line, null);				firstLineProcessed= true;				lastLineFormatted= lineFormatted;				if (!lineFormatted)					lastLineIndent= null;				else if (lastLineIndent == null)					lastLineIndent= getIndent(line);				line= reader.readLine();				lineFormatted= reader.isFormattedLine();				maxNumberOfLines--;			}			if (line != null && buffer.length() > 0) {				append(buffer, LINE_DELIM, lineFormatted ? presentation : null);				append(buffer, JavaUIMessages.HTMLTextPresenter_ellipsis, presentation);			}			return trim(buffer, presentation);		} catch (IOException e) {			JavaPlugin.log(e);			return null;		} finally {			gc.dispose();		}	}