private void checkForCollisions () {
		for (Participant p1: participants) {
			Iterator<Participant> iter = participants.descendingIterator();
			while (iter.hasNext()) {
				Participant p2 = iter.next();
				if (p2 == p1) break;
				if (pendingRemoves.contains(p1)) break;
				if (pendingRemoves.contains(p2)) break;
				if (p1.overlaps(p2)) {
					for (CollisionListener listener: listeners) {
						listener.collidedWith(p1, p2);
					}
				}
			}
		}
	}