public void sendToBack(Figure figure) {
   if (children.remove(figure)) {
     children.add(0, figure);
     needsSorting = true;
     fireAreaInvalidated(figure.getDrawingArea());
   }
 }
 public void bringToFront(Figure figure) {
   if (children.remove(figure)) {
     children.add(figure);
     needsSorting = true;
     fireAreaInvalidated(figure.getDrawingArea());
   }
 }
 public void basicAdd(int index, Figure figure) {
   children.add(index, figure);
   quadTree.add(figure, figure.getDrawingArea());
   figure.addFigureListener(figureHandler);
   needsSorting = true;
 }