protected Image getImage(Object element) {
    if (!(element instanceof Attachment)) {
      return null;
    }
    Attachment attachment = (Attachment) element;

    Image thumb = null;
    if (Arrays.asList(Attachment.getImageMimeTypes()).contains(attachment.getMimeType())) {
      Element cacheElement = getCache().get(attachment.getDbId());
      if (cacheElement != null) {
        // != is correct here
        if (cacheElement.getObjectValue() != EMPTY_CACHE_ELEMENT) {
          ImageData imageData = (ImageData) cacheElement.getObjectValue();
          thumb = new Image(FileView.getDisplay(), imageData);
        }
      } else {
        byte[] fileData = loadFileData(attachment);
        thumb = createImage(fileData);
        if (thumb != null) {
          getCache().put(new Element(attachment.getDbId(), thumb.getImageData()));
        } else {
          getCache().put(new Element(attachment.getDbId(), EMPTY_CACHE_ELEMENT));
        }
      }
    }
    return thumb;
  }