protected boolean collect(Fact fact){
  if (fact.getIteration() == currentIteration && !fact.isCycle()) {
    Derivation d=fact.getDerivation();
    for (    Fact source : d.getSources()) {
      if (frontier(source)) {
        return newFacts.add(fact);
      }
    }
  }
  return false;
}

protected boolean collect ( Fact fact ) { if ( fact . getIteration ( ) == currentIteration && ! fact . isCycle ( ) ) { Derivation d = fact . getDerivation ( ) ; for ( Fact source : d . getSources ( ) ) { if ( frontier ( source ) ) { return newFacts . add ( fact ) ; } } } return false ; }
store fact if it really is new .
