private void actuallyLoad() {
        if (this.current < 0)
            return;

        if (this.current == this.loader.getIndex()) {
            // We are in the process of pre-fetching the image we want to
            // display.
            if (this.loader.isLoaded()) {
                this.onLoaded(this.loader.getImageElement());
                
                return;
                
            } else if (!this.loader.isCanceled ()) {
                this.loader.setShowOnLoad(true);
                
                return;
            }
        }

        if (this.loader.isLoading()) {
            this.loader.cancel();
        }
        
        PictureDescriptor desc = this.descriptors.get(this.current);
        
        if (desc.isPicture()) {
            if (this.video != null) {
                this.remove(this.video);
                this.video = null;
                this.imgPlay.setDisabled(false);
            }
            this.loader.load(this.current, true);
        } else {
            this.loader.index = this.current;
            this.loader.state = InternalLoader.ERROR;
            this.old = this.img;
            this.img = null;
            if (this.old != null) {
                this.fadeAnim = new Animation() {
                    @Override
                    protected void onUpdate(double progress) {
                        PictureView.this.drawCanvas(progress);
                        if (progress == 1) {
                            PictureView.this.old = null;
                            PictureView.this.fadeAnim = null;
                            PictureView.this.showVideo();
                        }
                    }
                };
                this.fadeAnim.run(800);                
            } else {
                this.showVideo();
            }
        }
    }