@Override
  public @NotNull Dimension getPreferredSize() {
    if (myCachedImage != null) {
      return new Dimension(ImageUtil.getUserWidth(myCachedImage), ImageUtil.getUserHeight(myCachedImage));
    }
    return updatePreferredSize(super.getPreferredSize());
  }
@Override
  public @NotNull Dimension getPreferredSize()