reattachHandlers();
final String url = image.getUrl();
// maybe we've seen it before and calculated it
if (dimensionCache.get(url) != null) {
Dimension dim = dimensionCache.get(url);
calculateIdealSizeAndShow(image, caption, dim);
// maybe it's already been loaded
} else if (image.getOffsetHeight() > 0) {
calculateIdealSizeAndShow(image, caption, null);
// load offscreen