public synchronized void updateConstraintsState(Constraint c) {
		for (Constraint constraint: this.constraints){
			if(constraint.isSelected()){
				for (Constraint c2 : this.constraints) {
					if(c2!=constraint) {
						System.out.println("----- updating cc for CONSTRAINT:"+c2);
						while (busy)	{
							System.out.println("---cc:updateConstraintsState---");
						}
						busy = true;
						c2.setForbidden(true);
						busy = false;
					}
				}
				break;
			}
		}
		for (Constraint candidate : this.candidates) {
			int conSup = candidate.checkConstraintSupportType(c);
			if (conSup == 3) {
				while (busy)	{
					System.out.println("---cc:updateConstraintsState---");
				}
				busy = true;
				candidate.setForbidden(true);
				busy = false;
			}
		}
	}