public SemanticZoomNode(Thumbnail parent)
public SemanticZoomNode(Thumbnail parent, BrowserModel parentInfo)
    public SemanticZoomNode(Thumbnail parent)    {        super();        if(!loadedCompositeInfo)        {            loadSizeInfo();        }                if(parent == null)        {            throw new IllegalArgumentException("null parent to" +                "SemanticZoomNode");        }                multipleModeOn = parent.isMultipleThumbnail();                if(!multipleModeOn)        {            Image scaledImage;            Image originalImage = parent.getImage();            int width = originalImage.getWidth(null);            int height = originalImage.getHeight(null);                        if(width < height)                    {                scaledImage =                    originalImage.getScaledInstance(-1,compositeHeight,                                                    Image.SCALE_DEFAULT);            }            else            {                scaledImage =                    originalImage.getScaledInstance(compositeWidth,-1,                                                    Image.SCALE_DEFAULT);            }                                                            setImage(scaledImage);        }        else        {            Image[] originalImages = parent.getMultipleImages();            thumbnailImages = new Image[originalImages.length];            for(int i=0;i<originalImages.length;i++)            {                int width = originalImages[i].getWidth(null);                int height = originalImages[i].getHeight(null);                                if(width < height)                {                    thumbnailImages[i] =                        originalImages[i].getScaledInstance(-1,compositeHeight,                                                            Image.SCALE_DEFAULT);                }                else                {                    thumbnailImages[i] =                        originalImages[i].getScaledInstance(compositeWidth,-1,                                                            Image.SCALE_DEFAULT);                }            }            setImage(thumbnailImages[parent.getMultipleImageIndex()]);        }                int xDiff = getImage().getWidth(null)-compositeWidth; // should be only negative...        int yDiff = getImage().getHeight(null)-compositeHeight; // should be only negative...                parentThumbnail = parent;        border = new Rectangle2D.Double(-4,-4,                                        getImage().getWidth(null)+8,                                        getImage().getHeight(null)+8);                                                initOverlayShapes();        setBounds(border);    }