class DiagramNavigatorItemImpl implements IsWidget,
                                                 DiagramNavigatorItem {

    public void show(final DiagramRepresentation diagramRepresentation,
                     final int widthInPx,
                     final int heightInPx,
                     final Command callback) {
        this.callback = callback;
        this.name = diagramRepresentation.getName();
        view.setUUID(name);
        view.setItemTitle(diagramRepresentation.getTitle());

        //Set size before Uri/data as we cannot scale until the image is loaded and it's real size known
        view.setItemPxSize(widthInPx,
                           heightInPx);

        //Set Uri/data. Image's LoadHandler will set size requested above after image is loaded from Uri/data
        final String thumbData = diagramRepresentation.getThumbImageData();
        if (isEmpty(thumbData)) {
            final String defSetId = diagramRepresentation.getDefinitionSetId();
            final SafeUri thumbUri = shapeManager.getThumbnail(defSetId);
            view.setThumbUri(thumbUri);
        } else {
            view.setThumbData(thumbData);
        }
    }

    @Inject public  DiagramNavigatorItemImpl(final ShapeManager shapeManager,
                                    final NavigatorItemView<NavigatorItem> view);

}