List<RectangularObstacle> removeSelectedObstacles() {
		if (obstacles == null || obstacles.isEmpty())
			return null;
		List<RectangularObstacle> a = null;
		RectangularObstacle r = null;
		synchronized (obstacles.getSynchronizationLock()) {
			for (Iterator it = obstacles.iterator(); it.hasNext();) {
				r = (RectangularObstacle) it.next();
				if (r.intersects(selectedArea)) {
					if (a == null)
						a = new ArrayList<RectangularObstacle>();
					a.add(r);
					it.remove();
				}
			}
		}
		return a;
	}