public void setModel(CanvasModel value, ActionDispatcher dispatcher) { CanvasModel oldValue = model; if (!oldValue.equals(value)) { if (oldValue != null) { oldValue.removeCanvasModelListener(listener); } model = value; this.dispatcher = dispatcher; if (value != null) { value.addCanvasModelListener(listener); } selection.clearSelected(); repaint(); firePropertyChange(MODEL_PROPERTY, oldValue, value); } }