Image (final RadContainer container) { //noinspection unchecked SoftReference<CachedGridImage> imageRef = (SoftReference<CachedGridImage>) container.getDelegee().getClientProperty(CACHED_GRID_IMAGE_KEY); CachedGridImage gridImage = dereference(imageRef); if (gridImage != null && gridImage.sizeEquals(container)) { gridImage.update(container); } else { gridImage = new CachedGridImage(container); container.getDelegee().putClientProperty(CACHED_GRID_IMAGE_KEY, new SoftReference<>(gridImage)); } return gridImage.getImage(); }