public void handleCollisions() {
		Rectangle2D boundingBox1;
		Rectangle2D boundingBox2;
		int limit = activeObjects.size();
		if (is(TraceFlag.COLLISIONS)) {
			System.out.println("\tcollision detection with " + limit
					+ " objects");
		}
		for (int i1 = 0; i1 < limit; i1++) {
			GameObject o1 = activeObjects.get(i1);
			boundingBox1 = o1.getBoundingBox();
			for (int i2 = i1 + 1; i2 < limit; i2++) {
				GameObject o2 = activeObjects.get(i2);
				boundingBox2 = o2.getBoundingBox();
				if (boundingBox1.intersects(boundingBox2)) {
					if (is(TraceFlag.COLLISIONS)) {
						System.out.println("\tcollision: " + o1.getID() + " - "
								+ o2.getID());
					}
					o1.handleCollisionWith(o2);
					o2.handleCollisionWith(o1);
				}
			}
		}
	}