public FactorIteratorAdapter(FactorIterator fi)
 {
     this.fi = fi;
 }
 public void iterateOver(FactorIterator fi)
 {
     iterateOverTable(new FactorIteratorAdapter(fi));
 }
 public void iterateOver(FactorIterator fi, params AssignmentProposition[] fixedValues)
 {
     iterateOverTable(new FactorIteratorAdapter(fi), fixedValues);
 }
 void IFactor.iterateOver(FactorIterator fi)
 {
     iterateOverTable(new FactorIteratorAdapter(fi));
 }