void removeChild(IFigure child) { if (connectionToPaths == null) { return; } Rectangle bounds = child.getBounds().getCopy(); boolean change = false; algorithm.removeObstacle(bounds); figuresToBounds.remove(child); child.removeFigureListener(figureListener); if (change) { isDirty = true; queueSomeRouting(); } }