@Override public void delete() { if (foreground != null) { foreground.deleteObserver(this); } super.delete(); disableStartObjectObserving(); disableEndObjectObserving(); }
protected void enableStartObjectObserving(ShapeGraphicalRepresentation<?> aStartObject) { if (aStartObject == null || !aStartObject.isValidated()) { return; } if (enabledStartObjectObserving) { disableStartObjectObserving(); } if (aStartObject != null /*&& !enabledStartObjectObserving*/) { aStartObject.addObserver(this); observedStartObjects.add(aStartObject); if (!isDeserializing()) { for (Object o : aStartObject.getAncestors(true)) { if (getGraphicalRepresentation(o) != null) { getGraphicalRepresentation(o).addObserver(this); observedStartObjects.add(getGraphicalRepresentation(o)); } } } enabledStartObjectObserving = true; } }