@Override public SafeHtml getTooltip(String value, Element parent, NativeEvent event) { if (value != null) { SafeHtml safeHtmlValue = SafeHtmlUtils.fromString(value); if (maxTextLength >= 0) { SafeHtml renderedValue = getRenderedValue(safeHtmlValue); // only render a tooltip if the text actually got truncated if (!safeHtmlValue.equals(renderedValue)) { return safeHtmlValue; } } else if (contentOverflows(parent.getFirstChildElement())) { // render a value if there was overflow detected return safeHtmlValue; } } return null; }