if (imageHandle == null) imageCache.put(mergedImageData, imageHandle = new ImageHandle(new Image(display, scaledImageData)));
if (imageHandle == null) { imageHandle = new ImageHandle(new Image(display, scaledImageData)); imageCache.put(mergedImageData, imageHandle); }
  private ImageHandle getIconImage(Color background, String icon) {    ImageHandle imageHandle = null;    if (icon == null || icon.length() == 0)      return null;    ImageData scaledImageData = (ImageData) imageCache.get(icon);    try {      if (scaledImageData == null) {        System.out.println("Loading image: " + icon);        Image image = new Image(display, BaseResources.getResourceAsStream(icon));        ImageData imageData = image.getImageData();        image.dispose();        int scaledHeight = 20;        imageCache.put(icon, scaledImageData = imageData.scaledTo(            imageData.width * scaledHeight / imageData.height, scaledHeight));      }      ImageData mergedImageData = imageMerger.merge(background, scaledImageData);      imageHandle = (ImageHandle) imageCache.get(mergedImageData);      if (imageHandle == null)              imageCache.put(mergedImageData, imageHandle = new ImageHandle(new Image(display, scaledImageData)));      return imageHandle;    }    catch (IOException e) {      e.printStackTrace();    }    return null;  }