public void compile() {
		int cpt = 0;
		do {
			boolean done = true;
			for (PositiveForce f : forces) {
				// System.err.println("force=" + f);
				final boolean change = f.apply();
				if (change) {
					// System.err.println("changed! " + f);
					done = false;
				}
			}
			if (done) {
				System.err.println("cpt=" + cpt + " size=" + forces.size());
				CPT += cpt;
				System.err.println("CPT=" + CPT);
				return;
			}
			cpt++;
			if (cpt > 99999) {
				throw new IllegalStateException("Inifinite Loop?");
			}
		} while (true);

	}