public DomainRestoreInfo reduceDomains(CSP csp) { DomainRestoreInfo result = new DomainRestoreInfo(); FIFOQueue<Variable> queue = new FIFOQueue<Variable>(); foreach (Variable var in csp.getVariables()) queue.Add(var); reduceDomains(queue, csp, result); return result.compactify(); }