@Override protected void measureBubbleContent(int desiredWidth) { if (messageLayout == null || messageLayout.layoutDesiredWidth != desiredWidth) { messageLayout = null; if (cachedLayout != null) { for (MessageLayout l : cachedLayout) { if (Math.abs(l.layoutDesiredWidth - desiredWidth) < 6) { messageLayout = l; break; } } } if (messageLayout == null) { messageLayout = new MessageLayout(); messageLayout.build(wireframe, desiredWidth, application); } } setBubbleMeasuredContent(messageLayout.layoutRealWidth, messageLayout.layoutHeight); }