/**
  * Expects a valid sequence number.
  *
  * @param link
  * @param sequenceNumber must be an integer from 0 to 2.
  * @return the image matching the specified indexes.
  */
 private Image getSequencedImage(OriginalImageLink link, int sequenceNumber) {
   if (link.getType() == EImageLinkType.SETTLER) {
     return getSettlerSequence(link.getFile(), link.getSequence())
         .getImageSafe(link.getImage() + sequenceNumber);
   } else {
     return getGuiImage(link.getFile(), link.getSequence() + sequenceNumber);
   }
 }
 /**
  * Gets the highest resolution image that fits the given size.
  *
  * @param link The link that describes the image
  * @param width The width the image should have (at least).
  * @param height The height the image should have (at least).
  * @return The image or a null image.
  */
 public Image getImage(ImageLink link, float width, float height) {
   if (link == null) {
     return NullImage.getInstance();
   } else if (link instanceof DirectImageLink) {
     return getDirectImage((DirectImageLink) link);
   } else {
     OriginalImageLink olink = (OriginalImageLink) link;
     if (olink.getType() == EImageLinkType.LANDSCAPE) {
       return getLandscapeImage(olink.getFile(), olink.getSequence());
     } else {
       return getDetailedImage(olink, width, height);
     }
   }
 }