// Properly refresh display with items.
  private void updateDisplay(E[] items) {
    // nothing to do.
    if (items == null) {
      return;
    }

    // transform into AWT coordinates
    int width = getCanvas().getWidth();
    int height = getCanvas().getHeight();

    // create set of entities proportional to the image
    nativeItems = items;
    items = transform(items, width, height);

    model.setItems(items);
    model.setDynamicEntity(null); // clear away...
    refreshObjects();

    // force redraw since state has changed...
    getCanvas().redrawState();
  }