@Nullable
  default Rectangle getBounds(double scale) {
    BufferedImage image = getValue(scale);
    return image != null ? new Rectangle(image.getWidth(), image.getHeight()) : null;
  }
@Nullable
  default Rectangle getBounds(double scale)